User Stories - Breadsandwich/goodwatch 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 /signup page:
Login
- 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 sign-up form.
- So that I can seamlessly access the site's functionality
- When I enter invalid data on the login 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 /login page:
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 /signup or /login pages:
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 featured game recommendations.
- 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 featured game recommendations.
- While on any page of the site:
Shows
Create Shows
- As a logged-in user, I want to be able to add new shows
- When I'm on the
/new-show
page:- I can add a create and submit a new show
- So that I can share a show I like to watch
- When I'm on the
View Shows
- As a logged in or logged out user, I want to be able to view all available shows.
- When I'm on the
/shows
page:- I can view all listed shows.
- So that I can learn about new shows that I might not have watch yet.
- When I'm on the
- As a logged in or logged out user, I want to be able to view a specific show and its associated reviews and ratings.
- When I'm on the
/shows/:id
page:- I can view the content of the show, as well as the associated reviews and ratings.
- So that I can read and interact with the thoughts of my friends and add my own thoughts on the show.
- When I'm on the
Updating Shows
- As a logged in user, I want to be able to edit my show by clicking an Edit button associated with the show anywhere that show appears.
- When I'm on the
/shows
,/shows/:id
, or/users/:id/shows
pages:- I can click "Edit" to make permanent changes to show I have posted.
- So that I can fix any errors I make in my show's description.
- When I'm on the
Deleting Shows
*As a logged in user, I want to be able to delete my show by clicking a Delete button associated with the show anywhere that show appears.
- When I'm on the
/shows
,/shows/:id
, or/users/:id/shows
pages:- I can click "Delete" to permanently delete a show I have posted.
- So that when I realize I shouldn't have publicly said something, I can easily remove it.
Watchlists
Create Watchlists
- As a logged in user, I want to be able to create a new watchlist.
- When I'm on the
/users/:userId/watchlists
page:- I can create a new watchlist by clicking an "Add" button.
- So that I can organize my shows.
- I can create a new watchlist by clicking an "Add" button.
- When I'm on the
Viewing My Watchlists
- As an unauthorized user, I want to be able to view all the watchlists from a specific user and my own.
- When I'm on the
/users/:userId/watchlist
page:- I can view my or a user's watchlists, as well as the shows associated with them.
- So that I can see what shows myself or other people:
- Have watched.
- Are watching.
- Want to watch.
- So that I can see what shows myself or other people:
- I can view my or a user's watchlists, as well as the shows associated with them.
- When I'm on the
Edit my Watchlists
- As a logged in user, I want to be able to edit my watchlists by clicking an Edit button associated with the watchlist.
- When I'm on the
/users/:userId/watchlists/edit
:- I can click "Edit" to make permanent changes to the watchlists I have created.
- So that I can fix any errors or remove a show from a watchlist.
- I can click "Edit" to make permanent changes to the watchlists I have created.
- When I'm on the
Delete my Watchlists
- As a logged in user, I want to be able to delete my watchlists by clicking a "Delete" button associated with the watchlist.
- When I'm on the
/users/:userId/watchlists/edit
:- I can click "Delete" to permanently delete a watchlist I have created.
- So that I can keep on my profile only the watchlists that really interest me.
- I can click "Delete" to permanently delete a watchlist I have created.
- When I'm on the
Reviews
Creating a review
- As a logged in user, I want to be able to post my thoughts and review on a show. [create]
- When I'm on a
/shows/:id
page: - There is a section under the show details for posting reviews.
- I can click a 'write a review' button and it brings me to a new page for posting a review.
- There is a text area where I can write my review and a button to post the review when I am ready to post my review.
- When I'm on a
Viewing reviews
- As a logged in user or guest user, I want to be able to view my own reviews and other user reviews on a show.
- When I'm on a
/shows/:id
page:- I am able to scroll down and see all the reviews on a show.
- When I'm on a
Updating reviews
- As a logged in user, I want to be able to edit my reviews that I posted on a show.
- When I'm on a
/shows/:id
page:- I can see the review I posted on top of the other reviews
- There is an edit button that allows me to edit my review.
- When I'm on a
Deleting reviews
- As a logged in user, I can delete reviews that I posted on shows.
- When I am on a
/shows/:id
page:- There is a delete button next to the edit button that allows me to delete my review
- When I am on a
Watch Status
Viewing Watch Status
- As a logged in user, I want to be able to see my watched status displayed in my profile, so that I can see what shows/movies I should watch next.
Updating Watch Status
- As a logged in user, I want to be able to update my watch status in my profile to either 'has watched' or 'wants to watch', so that I can add shows/movies that I want to watch, or update shows/movies that I have watched.