Skip to content

User Stories

Ryan Fournier edited this page Oct 17, 2023 · 5 revisions

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 firstname, lastname, age, 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.

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 the /login page to allow me to visit the site as a guest without signing up or logging in.
    • When I'm on the/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 posts.
        • So that I can easily log out to keep my information secure.

Posts

Create Photo

  • As a logged in user, I want to be able to post new photos.
    • When I'm on the /new-photo page:
      • I can write and submit a new photo.
        • So that I can share my photos with my friends.

Viewing Photos

  • As a logged in or logged out user, I want to be able to view a selection of the most recent photos.

    • When I'm on the /photos page:
      • I can view the ten most recently posted photos.
        • So that I can read and interact with the photos of my friends.
  • As a logged in or logged out user, I want to be able to view a specific photo and its associated Comments.

    • When I'm on the /photo/:id page:
      • I can view the content of the photo, as well as the associated Comments.
        • So that I can read and interact with my friends photos, and add my own thoughts and memes in the comments.

Updating photos

  • As a logged in user, I want to be able to edit my photos by clicking an Edit button associated with the photo anywhere that photo appears.
    • When I'm on the /photo, /photo/:id, or /users/:id/photos pages:
      • I can click "Edit" to make permanent changes to photos I have posted.
        • So that I can fix any errors I make in my photos.

Deleting Photos

  • As a logged in user, I want to be able to delete my photos by clicking a Delete button associated with the photo anywhere that photo appears.
    • When I'm on the /photo, /photos/:id, or /users/:id/photos pages:
      • I can click "Delete" to permanently delete a photo I have posted.
        • So that when I realize I shouldn't have publicly posted something, I can easily remove it.

Comment

Create Comment

  • As a logged in user, I want to be able to post new comments on somebody else's posts.
    • When I'm on the /photos/:id page:
      • I can write and submit a new comment.
        • So that I can share my thoughts with other people.

Viewing Comments

  • As a logged in or logged out user, I want to be able to view a specific comments.
    • When I'm on the /photo/:id page:
      • I can view the content of the photo, as well as the associated Comments.
        • So that I can read and interact with my friends photos, and add my own thoughts and memes in the comments.

Updating comment

  • As a logged in user, I want to be able to edit my comments by clicking an Edit button associated with the comment.
    • When I'm on the /photo/:id page:
      • I can click "Edit" to make permanent changes to comment I have posted.
        • So that I can fix any errors I make in my comments.

Deleting Photos

  • As a logged in user, I want to be able to delete my comments by clicking a Delete button associated with the comment.
    • When I'm on the /photos/:id, page:
      • I can click "Delete" to permanently delete a comment I have posted.
        • So that when I realize I shouldn't have publicly said something, I can easily remove it.

Albums

Create Album

  • As a logged in user, I want to be able to create a new album.
    • When I'm on the /user/:id page:
      • I can create new albums and add/remove photos.
        • So that I can share my photos with other people.

Viewing Albums

  • As a logged in or logged out user, I want to be able to view a users album.
    • When I'm on the /user/:id page:
      • I can view all albums on a user's profile..
        • So that I can read and interact with my friends photos, and add my own thoughts and memes in the comments.

Deleting Albums

  • As a logged in user, I want to be able to delete my album by clicking a Delete button associated with the album.
    • When I'm on the /user/:id, page:
      • I can click "Delete" to permanently delete an album I have posted along with corresponding images.
        • So that when I realize I shouldn't have publicly posted an album, I can easily remove it.

Favorites

Viewing Favorites

  • As a logged in user, I want to be able to see all photos I have favorited.

Add to favorites

*As a logged in user, I should be able to favorite photos.

Unfavorite

*As a logged in user, I should be able to unfavorite photos.