User Stories - OndreWilliams/TownSquare 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.
- When I'm on the
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 login form.
- So that I can seamlessly access the site's functionality and redirect me to my home ('/') route
- 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.
- 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).
- When I'm on the
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.
- I can click on a Demo User button to log me in and allow me access as a normal user.
- When I'm on either the
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 the homepage to login once again.
- So that I can easily log out to keep my information secure.
- I can log out of my account and be redirected to a page displaying the homepage to login once again.
- While on any page of the site:
Questions
Posting New Questions
- As a logged in user, I want to be able to post new questions.
- When I'm on the
/new-question
page:- I can write and submit a new question.
- So that I can ask whatever my heart pleases to the TownSquare community.
- I can write and submit a new question.
- When I'm on the
Viewing Most Recent Questions
-
As a logged in, I want to be able to view a selection of the most recent questions.
- When I'm on the
/
page:- I can view the most recently posted questions.
- So that I can read and interact with the thoughts of the community.
- I can see the questions according to their published date with the latest ones being shown first
- I would have a more robust experience in this format.
- I can view the most recently posted questions.
- When I'm on the
-
As a logged in user, I want to be able to view specific questions and their associated answers and upvotes and downvotes.
- When I'm on the
/question/:id
page:- I can view the content of the question.
- So that I can read and interact with the thoughts and questions of my community, and add my own thoughts to a thread.
- I can view the content of the question.
- When I'm on the
Updating 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 the question appears.
- When I'm on the
/
,/question/:id
, or/users/:id/questions
pages: - I can click "Edit" to make permanent changes to the questions I have posted.
- So that I can fix any errors or mistakes I made in my questions.
- When I'm on the
Deleting Questions
- As a logged in user, I want to be able to delete my questions by clicking a Delete button associated with the question anywhere that the question appears.
- When I'm on the
/
,/question/:id
, or/users/:id/questions
pages: - I can click "Delete" to permanently delete a question I have posted.
- So that when I realize I shouldn't have publicly asked something, I can easily remove it.
- When I'm on the
Searching
- As a logged in user, I want to be able to search for questions.
- I am able to clearly see where I must input the information necessary for the search.
- When I enter the question I want to see, if it already exists in the database, I will be redirected to
/question/:id
if there is a match.
- When I enter the question I want to see, if it already exists in the database, I will be redirected to
- I am able to clearly see where I must input the information necessary for the search.
Answers
Posting New Answers
- As a logged in user, I want to be able to post new questions.
- When I'm on the
/new-answer
page:- I can write and submit a new answer.
- So that I can respond to whatever question I feel like answering for the TownSquare community.
- I can write and submit a new answer.
- When I'm on the
Viewing Most Recent Answers
-
As a logged in user, I want to be able to view a selection of the most recent answers on a question.
- When I'm on the
/
page:- I can view the most recently posted answers on a question thread.
- So that I can read and interact with the thoughts of the community.
- I can see the answers according to their published date with the latest ones being shown first
- I would have a more robust experience in this format.
- I can view the most recently posted answers on a question thread.
- When I'm on the
-
As a logged in user, I want to be able to view specific answers with their associated questions
- When I'm on the
/question/:id
page:- I can view the content of the answer in accordance with that specific question.
- So that I can read and interact with the thoughts and questions of my community, and add my own thoughts to a thread.
- I can view the content of the answer in accordance with that specific question.
- When I'm on the
Updating 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 the answer appears.
- When I'm on the
/
,/answer/:id
, or/users/:id/answers
pages: - I can click "Edit" to make permanent changes to the answers I have posted.
- So that I can fix any errors or mistakes I made in my answers.
- When I'm on the
Deleting Answers
- As a logged in user, I want to be able to delete my answers by clicking a Delete button associated with the answer anywhere that the answer appears.
- When I'm on the
/
,/answer/:id
, or/users/:id/answers
pages: - I can click "Delete" to permanently delete an answer I have posted.
- So that when I realize I shouldn't have publicly answered something, I can easily remove it.
- When I'm on the
Upvoting/Downvoting Answers
- As a logged in user, I want to be able to upvote or downvote an answer, depending on if I agree with it or not.
- I will see a tally on each answer, showing the number of upvotes or downvotes a specific answer has.
- I can gauge the popularity or level of acceptance that people in the community feel about someone's answer, which is helpful if I want to go to a restaurant or activity based on popularity.
- I will see a tally on each answer, showing the number of upvotes or downvotes a specific answer has.