User Stories - BrandonCope/g13_goodMovies GitHub Wiki

Good Movies User Stories

Authentication

1. Sign-up

  • As an unauthorized user, I want to be able to sign up for the website via a sign-up form, so that I can access GoodMovies.

Acceptance Criteria:

  • When I sign up, then I will use my name, username, email, and password with confirmed password.
  • When I sign up successfully, I will be automatically logged in.
  • When I sign up with an incorrect password, I will receive an error message for non-matching passwords.
  • When I sign up with an existing email address, I will receive an error message saying "email exists."

2. Login

  • As an authorized user, I want to be able to log into GoodMovies, so that I can access my profile.

Acceptance Criteria:

  • When I log in, then I will use my username and password.
  • When I log in, I will be redirected to the main page.
  • When I log in with an incorrect password, I will receive an error message saying "invalid login."

3. Demo User

  • As an unauthorized/unregistered user, I want to be able to visit GoodMovies as a guest user, so that I can test the site's features and functionality without logging in or signing up.

Acceptance Criteria:

  • When I click on a "Demo User" button, I will have authorized user permissions.

4. Logout

  • As an authorized user, I want to be able to log out of GoodMovies, so that I can prevent unauthorized access of my profile.

Acceptance Criteria:

  • When I log out of my account, I will be redirected to the log-in page.

Movies Pages

1. Main Movies Page

  • As a logged-in user, I want to be able to view a list of movies, so that I can discover and check out new movies.

Acceptance Criteria:

  • As a logged-in user, when I am on the main movies page, I will see the movie image, title, year and director, along with a drop-down to select our custom shelves and watched status select box.
  • As a logged-in user, when I click on an individual movie, then I will be redirected to that movie's page.

2. View Movie Page

  • As a logged-in user, I want to be able to view the details and reviews/rating for each individual movie.

Acceptance Criteria:

  • When I am on the individual movie page, then I can see details about that particular movie.
  • When I am on an individual movie page, then I can access that movie's "watched" status, movie shelf/shelves, reviews, and ratings.

My Shelves

1. Create Shelf

  • As a logged-in user, I want to be able to create a new movie shelf, so that I can categorize my movies to my liking.

Acceptance Criteria:

  • When I create a new shelf, I will input the name of my shelf in an input field and click a "create" button.
  • Once a new shelf is created, it will show up on the left side of My Shelves page.
  • Once a shelf is created, it will contain an "add movies" buttons to redirect to main page for movies to be added to shelf.
  • If a movie is present "on" shelf, the "add movies" button will move closer to bottom of page.

2. View Shelf

  • As a logged-in user, I want to be able to view my movie shelf, so that I can view movies by my custom categories.

Acceptance Criteria:

  • When I view my shelves, the content of the selected shelf will show on the right side of My Shelves page.

3. Edit Shelf

  • As a logged-in user, I want to be able to edit my movie shelf, so that I can rename it, add a movie, or remove a movie.

Acceptance Criteria:

  • When a shelf exists, then I can edit the name of the shelf on My Shelves page.
  • I can continue to use the "add movies" buttons to redirect to main page for movies to be added to shelf.
  • I can click a "remove" button next to each movie to remove from shelf as desired.

4. Delete Shelf

  • As a logged-in user, I want to be able to delete a new movie shelf, so that I can remove it.

Acceptance Criteria:

  • When a shelf exists, then I can delete the shelf from My Shelves page.

Reviews

1. Create Review

  • As a logged-in user, I want to be able to create a new movie review, so that I can share my opinion of the movie.

Acceptance Criteria:

  • When I am on an individual movie page, then I can click a "add review" button to create a review for that movie.

2. View Review

  • As a logged-in user, I want to be able to view all reviews on each movie, so that I can see other opinions of a movie.

Acceptance Criteria:

  • When I am on an individual movie page, then I can view all reviews for that movie, listed at right side or the bottom of the page.

3. Edit Review

  • As a logged-in user, I want to be able to edit my movie reviews, so that I can share a changed opinion.

Acceptance Criteria:

  • When I have created a review of a movie, then I can select that review to edit the content by clicking an "edit" button.

4. Delete Review

  • As a logged-in user, I want to be able to delete my movie review, so that it no longer appears.

Acceptance Criteria:

  • When I have created a review of a movie, then I can select that review for deletion by clicking a "delete" button.

Ratings

1. Create Rating

  • As a logged-in user, I want to be able to create a new movie rating, so that I can share my rating of the movie.

Acceptance Criteria:

  • When I am on an individual movie page, I can select a rating for that movie by selecting 1 to 5 stars.
  • When I create a review, I will also have the option to include my rating for that movie.

2. View Rating

  • As a logged-in user, I want to be able to view all ratings on each movie, so that I can see other ratings.

Acceptance Criteria:

  • When I am on an individual movie page, the average rating for that movie will display near the reviews.

3. Edit Rating

  • As a logged-in user, I want to be able to edit my movie rating, so that I can share a changed opinion.

Acceptance Criteria:

  • When I am on an individual movie page, I can edit my rating for that movie by selecting a new rating.

4. Delete Rating

  • As a logged-in user, I want to be able to delete my movie rating, so that it no longer appears.

Acceptance Criteria:

  • When I am on an individual movie page, I can delete my rating for that movie by reselecting my current rating.

Watched Status

1. Edit Watched Status

  • As a logged-in user, I want to be able to mark and unmark a movie as watched, so that I can see already-watched and not-already-watched movies.

Acceptance Criteria:

  • When I am on an individual movie page, I can select a "watched" check-box to mark that movie as "watched."
  • When I am on an individual movie page, I can deselect a "watched" check-box to mark that movie as "un-watched."
  • Our watched and unwatched will show on a "watched status" page.