Skip to content

User Stories

John-Amini edited this page Jan 14, 2022 · 9 revisions

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.
    • 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 questions.
        • So that I can easily log out to keep my information secure.

View Users

  • As any type of user, I want to be able to see a list of users.
    • While on the /users page
      • I can see the list of users signed up to the website
        • So that I can see who else has signed up for the website.

Questions

Create Questions

  • As a logged in user, I want to be able to post a new question by hitting a create question button.
    • When I'm on the /questions page:
      • I can write and submit a new question

Delete Questions

  • As a logged in user I want to be able to delete my question by clicking a delete button associated with that question.
    • When I'm on the '/questions/:id and /' pages:
      • I can click "Delete" to permanently delete a question I have posted.

Edit Questions

  • As a logged in user, I want to be able to edit my questions by clicking an Edit button associated with the question anywhere that question appears.
  • When I'm on the /questions/:id and / pages:
    • I can click "Edit to make permanent changes to the question I have posted.
      • So I can fix my errors and provide further information for my question.

Viewing Questions

  • As any type of user, I want to be able to view a selection of the most recent questions.
    • When I am on the / page:
      • I can view the most recent questions
        • So that I can see what questions others have recently.

Answers

Create Answers

  • As a logged in user, I want to be able to post a new answer to a specific question by hitting a create answer button.
    • When I'm on the /questions/:id page:
      • I can write and submit a new answer
        • So I can help others in need.

Delete Answers

  • As a logged in user I want to be able to delete my answer by clicking a delete button associated with that answer.
    • When I'm on the /questions/:id page:
      • I can click "Delete" to permanently delete an answer I have posted.
        • So I can delete my answers after realizing I was wrong.

Edit Answers

  • As a logged in user, I want to be able to edit my answers by clicking an Edit button associated with the answer anywhere that answer appears.
  • When I'm on the /questions/:id page:
    • I can click "Edit to make permanent changes to the answer I have posted.
      • So I can fix my answer after obtaining new information.

Viewing Answers

  • As any type of user, I want to be able to view answers associated with a question.
    • When I am on the /questions/:id page:
      • I can view the answers to a question.
        • So that I can see what answers people have posted to the current question.

Vote on Answers

  • As a logged in user, I want to be able to upvote and downvote answers.
    • When I am on the /questions/:id page:
      • I can upvote or downvote an answer by clicking an icon/button.
        • So that I can vote on the most helpful and least helpful answers.

Comment

Create Comments

  • As a logged in user, I want to be able to post a new comment to a specific answer by hitting a create comment button associated with that answer.
    • When I'm on the /questions/:id page:
      • I can write and submit a new comment
        • So I can help provide further information to an answer that is not mine.

Delete Comments

  • As a logged in user I want to be able to delete my comment by clicking a delete button associated with that comment.
    • When I'm on the /questions/:id page:
      • I can click "Delete" to permanently delete a comment I have posted.
        • So I can delete my comments after realizing I was wrong.

Edit Comments

  • As a logged in user, I want to be able to edit my answers by clicking an Edit button associated with the comment anywhere that comment appears.
  • When I'm on the /questions/:id page:
    • I can click "Edit to make permanent changes to the comment I have posted.
      • So I can fix my comment after obtaining new information.

Viewing Comments

  • As any type of user, I want to be able to view comments associated with an answer.
    • When I am on the /questions/:id page:
      • I can view the comments to an answer.
        • So that I can see what comments people have said pertaining to an answer.