User Stories - daviiiL/echo GitHub Wiki

User Stories

Users

Sign Up

  • As an unregistered and unauthorized user, I want to be able to sign up for the website via a sign-up form.
    • When I'm on the /signup page:
      • I would like to be able to enter my email, username, and preferred password on a clearly laid out form.
      • I would like the website to log me in upon successful completion of the sign-up form.
        • So that I can seamlessly access the site's functionality
    • When I enter invalid data on the sign-up form:
      • I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
      • So that I can try again without needing to refill forms I entered valid data into.

Log in

  • As a registered and unauthorized user, I want to be able to log in to the website via a log-in form.
    • When I'm on the /login page:
      • I would like to be able to enter my email and password on a clearly laid out form.
      • I would like the website to log me in upon successful completion of the lob-up form.
        • So that I can seamlessly access the site's functionality
    • When I enter invalid data on the log-up form:
      • I would like the website to inform me of the validations I failed to pass, and repopulate the form with my valid entries (except my password).
        • So that I can try again without needing to refill forms I entered valid data into.

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find and clear button on both the /signup and /login pages to allow me to visit the site as a guest without signing up or logging in.
    • When I'm on either the /signup or /login pages:
      • I can click on a Demo User button to log me in and allow me access as a normal user.
        • So that I can test the site's features and functionality without needing to stop and enter credentials.

Log Out

  • As a logged in user, I want to log out via an easy to find log out button on the navigation bar.
    • While on any page of the site:
      • I can log out of my account and be redirected to a page displaying recent FauxTweets.
        • So that I can easily log out to keep my information secure.

1. Articles

Create Articles

  • As a logged in user, I want to be able to post new Articles
    • When I'm on the /new-story page:
      • I can write and submit a new article
        • So that I can share my thoughts and knowledge with the internet.

Viewing Articles

  • As a logged in or logged out user, I want to be able to view most recent articles.

    • When I'm on the / page:
      • I can view the most recent articles and news by categories.
        • So that I can read and interact with the author and other uses via comments.
  • As a logged in or logged out user, I want to be able to view a specific article or news and its comments.

    • When I'm on the /words/:articleId page:
      • I can view the content of the article, its author information, likes and comments.
        • So that I can read the article in interest and interact with the rest of the internet via commenting.

Updating Articles

  • As a logged in user, I would like to be able to edit my articles as many times as I need to and publish my updated article with ease.
    • When I'm on the /account/my-stories ane /words/:articleId pages:
      • I can click "Edit" to make permanent changes to my articles or comments I have posted.
        • So that I can fix or update my text in these components.

Deleting Article

  • As a logged in user, I want to be able to delete my article by clicking on a Delete button shown on articles that I published when in edit mode.
    • When I'm on the /account/my-stories oe /words/:articleId pages:
      • I can click "Delete" to permanently delete an article I have posted.
        • So that when I realize I shouldn't have publicly said something, I can easily remove it.

2. Comments

Create Comments

  • As a logged in user, I want to be able to post new comments.
    • When I'm on the /words/:articleId page:
      • I should be able to click on the "create comment" button.
      • I can write and submit a new comment on an article.
      • So that I can share my comments with the internet about that article.

Viewing Comments

  • As a logged in or logged out user, I want to be able to view a selection of the most recent comments on an article.
    • When I'm on the /thoughts page:
      • I can view the ten most recently posted comments.
        • So that I can read and interact with the thoughts of the internet on the latest articles.

Updating Comments

  • As a logged in user, I want to be able to edit my comments by clicking an Edit button associated with the article.
    • When I'm on the /words/:articleId, or /account/current/thoughts pages:
      • I can click "Edit" to make permanent changes to comments that I have posted.
        • So that I can update my comments to the article.

Deleting Comments

  • As a logged in user, I want to be able to delete my comments by clicking a Delete button associated with the comment.
    • When I'm on the /words/:articleId, or /account/current/thoughts pages:
      • I can click "Delete" to permanently delete a Comment I have posted.
        • So that when I regret making that comment, I can delete it.