User Stories - ryangoggin/Goggbook 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 log-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.
- 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 the
/login
page:- 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 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 login splash page.
- 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 login splash page.
- While on any page of the site:
Posts
Create Post
- As a logged in user, I want to be able to post new Posts.
- When I'm on the
/
page or my profile page '/:currentUserId':- I can open and close the new Post modal to create a new Post.
- So that I can share my thoughts with my friends.
- I can open and close the new Post modal to create a new Post.
- When I'm on the
Viewing Posts
-
As a logged in user, I want to be able to view all Posts from myself and my friends.
- When I'm on the
/
page or a user's profile page '/:userId':- I can view all my and my friends' posts starting from the most recent at the top.
- So that I can read and interact with the thoughts of my friends.
- I can view all my and my friends' posts starting from the most recent at the top.
- When I'm on the
-
As a logged in user, I want to be able to view a specific post's associated Comments and Likes.
- When I'm on the
/
page or a user's profile page '/:userId':- I can view the content of each Post in the feed, as well as the associated Comments and Likes.
- So that I can read and interact with the thoughts of my friends, and support their thoughts with my Like and add my own thoughts in the Comments.
- I can view the content of each Post in the feed, as well as the associated Comments and Likes.
- When I'm on the
Updating Posts
- As a logged in user, I want to be able to edit my Posts by clicking an Edit button associated with the Post in the feed.
- When I'm on the
/
page or my profile page '/:currentUserId':- I can click "Edit" to make permanent changes to Posts I have posted.
- So that I can fix any errors I make in my Posts.
- I can click "Edit" to make permanent changes to Posts I have posted.
- When I'm on the
Deleting Posts
- As a logged in user, I want to be able to delete my Posts by clicking a Delete button associated with the Post anywhere that Post appears.
- When I'm on the
/
page or my profile page '/:currentUserId':- I can click "Delete" to permanently delete a Post I have posted.
- So that when I realize I shouldn't have publicly said something, I can easily remove it.
- I can click "Delete" to permanently delete a Post I have posted.
- When I'm on the
Comments
Create Comment
- As a logged in user, I want to be able to post new Comments on Posts I see.
- When I'm on the
/
page or a user's profile page '/:userId':- I can fill out the new Comment form at the bottom of the associated Post to create a new Comment.
- So that I can share my thoughts with my friends.
- I can fill out the new Comment form at the bottom of the associated Post to create a new Comment.
- When I'm on the
Viewing Comments
- As a logged in user, I want to be able to view all Comments from myself and my friends on Posts I can see.
- When I'm on the
/
page or a user's profile page '/:userId':- I can view all my and my friends' Comments on their associated Posts.
- So that I can read and interact with the thoughts of my friends.
- I can view all my and my friends' Comments on their associated Posts.
- When I'm on the
Updating Comments
- As a logged in user, I want to be able to edit my Comments by clicking an Edit button associated with the Comment in the feed.
- When I'm on the
/
page or a user's profile page '/:userId':- I can click "Edit" to make permanent changes to Comments I have posted.
- So that I can fix any errors I make in my Comments.
- I can click "Edit" to make permanent changes to Comments I have posted.
- When I'm on the
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 anywhere that Comment appears.
- When I'm on the
/
page or a user's profile page '/:userId':- I can click "Delete" to permanently delete a Comment I have posted.
- So that when I realize I shouldn't have publicly said something, I can easily remove it.
- I can click "Delete" to permanently delete a Comment I have posted.
- When I'm on the