-
Notifications
You must be signed in to change notification settings - Fork 0
User Stories
Grant Walton edited this page Mar 10, 2022
·
21 revisions
- User will create a username and password to sign up for Horrorhub.
- Acceptance Criteria:
- User will be redirected to the '/signup' route, and provided with a signup form, and redirected to the '/profile/:userId' route after signing up.
- If username already exists, we will display the message "Username already exists, please try again."
- Password needs to match in both password and verify password forms to pass, or we will display the message "Password does not match, please try again."
- User will login with Username and password.
- Acceptance Criteria:
- User will login via /login route, and redirected to the '/profile/:userId'
- If user incorrectly enters their username, we will display the message "Invalid username, please try again."
- If user incorrectly enters their password, we will display the message "Invalid password, please try again."
- User will use token-based authorization for now
- A logged in user should be able to sign out at any time
- Acceptance Criteria:
- There should be a sign out button
- When user signs out, they are redirected to the '/' route.
- Revokes access from their account for now until they sign back in
- As a user, I can navigate to a page that displays all of the horror movies in the database.
Acceptance Criteria:
- There should be a navigation link to the "/movies" page.
- The list of movies should be easy to read and tell apart from one another
- Each movie should include a link to that movie's single resource page (/movies/:movieId).
- As a logged in user, I can add movies to separate watchlists based off of watched status. Watch Status include: "Will Watch", "Currently Watching", and "Have Watched"
Acceptance Criteria:
- On a specific movie's page:
- There should be a dropdown menu asking me which watchlist do I want to add this movie too, and a "Add to collection" button to confirm.
- Once I have successfully added the movie to my specific watchlist, I will not be redirected from the movie's page, but a message will be displayed saying "${Movie} has been successfully added to ${watchlist}."
- As a logged in user, I can view all of my collections
Acceptance Criteria:
- When I click on my specific watchlist on the sidebar, I should be able to view my collections, and the movies within them.
- As a logged in user, I should be able to edit my own collections
Acceptance Criteria:
- Next to each movie in my collection, I should see an "Edit watch status" button
- Once I click on the button, I should see a dropdown allowing me to edit the watch status and remove it from the current watchlist, and add it to the selected watchlist.
- Once successfully edited, the page should refresh and render the update.
- As a logged in user, I should be able to delete a movie off of my watchlist.
Acceptance Criteria:
- When viewing a watchlist, I should see a delete button next to the "Edit watch status" button next to the movie that I want to delete.
- I should be prompted to confirm that I want to delete this review.
- If deleted successfully, the page will refresh, and the post will be removed from the list.
- If the user attempts to delete a post that doesn't exist, display an error message to the user.
- As a logged in user, I can leave a review for said movie.
Acceptance Criteria:
- At the bottom of the movie's page, there should be a form allowing me to add a review.
- Said review should clearly indicate what information is necessary and required.
- If the form is submitted with invalid or missing data, the form should re-render with error messages.
- If the form is submitted correctly, the page will refresh, and I should see my review without being redirected.
- As a logged in user, I can view reviews I have written.
Acceptance Criteria:
- If I click on the "My Reviews" link on the sidebar, I should be redirected to the My Reviews (users/:userId/reviews) page and be able to view all the reviews I have written.
- As a logged in user, I can edit my own reviews
Acceptance Criteria:
- Whether I am viewing my review from the My Reviews (users/:userId/reviews) page or from the movie page, I should see an "Edit Review" button next to my review. When clicked, a form appears that allows me to edit a review.
- Said review should clearly indicate what information is necessary and required.
- If the form is submitted with invalid or missing data, the form should re-render with error messages.
- If the form is submitted correctly, I should be redirected to the movie's page with my edited review.
- As a logged in user, I can delete my own reviews.
Acceptance Criteria:
- If I am viewing my reviews from the My Reviews (users/:userId/reviews) page, I should see a delete button next to the edit button next to the review that I want to delete.
- I should be prompted to confirm that I want to delete this review.
- If deleted successfully, the page will refresh, and the post will be removed from the list.
- If the user attempts to delete a post that doesn't exist, display an error message to the user.