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.

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.

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.

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.

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

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.
  • 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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.