User Stories - CasstielP/Carbs-and-Me GitHub Wiki

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, first name, last name, 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.

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

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 recent FauxTweets.
        • So that I can easily log out to keep my information secure.

videos

Create Videos

  • As a logged in user, I want to be able to upload new video.
    • When I'm on the /new-video page:
      • I can upload and submit a new video.
        • So that I can share my moments on the internet.

Viewing videos

  • As a logged in or logged out user, I want to be able to view all the videos on that website.

    • When I'm on the / page:
      • I can view all the videos available on the site.
        • So that I can click and watch them.
  • As a logged in or logged out user, I want to be able to view a specific video when I'm on the video page.

    • When I'm on the /videos/:videoId page:
      • I can watch the video, as well as the associated comments.

Updating video

  • As a logged in user, I want to be able to edit my videos (title, descriptions)by clicking an Edit button associated with the video on the profile page.
    • When I'm on the /profile:
      • I can click "Edit" to make permanent changes to video I have uploaded.

Deleting video

  • As a logged in user, I want to be able to delete my video by clicking a Delete button associated with the video on the profile page.
    • When I'm on the /profile page:
      • I can click "Delete" to permanently delete a video I have uploaded.

Comments

Create Comments

  • As a logged in user, I want to be able to create new comments.
    • When I'm on the /videos/:videoId page:
      • I can create and submit a new comment under the video in the comment section.
        • So that I can share my thoughts about the video on the internet.

Viewing comments

  • As a logged in or logged out user, I want to be able to view all the comments on the video detail page.
    • When I'm on the / page:
      • I can view all the comments available for that particular video.

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 on the video detail page as well as on the profile page.
    • When I'm on the /profile:
      • I can click "Edit" to make permanent changes to the comments I have uploaded.
    • When I'm on the /videos/:videoId:
      • I can click "Edit" to make permanent changes to the comments I have uploaded.

Deleting video

  • As a logged in user, I want to be able to delete my comment by clicking a Delete button associated with that comment on the profile page as well as the video detail page.
    • When I'm on the /profile page:
      • I can click "Delete" to permanently delete a comment I have uploaded.
    • When I'm on the /videos/:videoId page:
      • I can click "Delete" to permanently delete a comment I have uploaded.