Skip to content

User Stories

Andrew edited this page Oct 7, 2021 · 11 revisions

Users/User Auth


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

Profile Page

  • As a registered user, I want to be able to edit my personal profile information.
    • When I'm on the /users/:id/settings page:
      • Can edit first name
      • Can edit last name
      • Can edit username
      • Can edit email
      • Can edit bio
        • By clicking the relevant button so that I can keep my information up to date.

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.

Logout

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

Inks


Create new Inks

  • As a logged in user, I want to be able to post new Inks
    • When I'm on the /users/:id page:
      • I can write and submit a new Inks
        • So that I can share my creations or favorite tattoos with my friends/customers

Viewing Inks

  • As a logged in user, I want to be able to discover more Inks relative to my interests (relative = dependent on Bonus).
    • When I'm on the '/' page:
      • I can view lots of Inks (relevant to my interests, Bonus dependencies)
        • So that I can get inspired and discover new tattoo ideas

Viewing One Ink

  • As a logged in user, I want to be able to view a specific Inks (Bonus: and its Likes and Comments).
    • When I'm on the /inks/:id page:
      • I can view the content of the Ink (Bonus: and its Likes and Comments).
        • So that I can discover and be inspired by the tattoos of my friends, (Bonus: and add my own thoughts and memes in the ink comments)

Editing Ink

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

Deleting Ink

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

Canvases


Canvas Creation

  • As a logged in user, I want to be able to create new Canvases
    • When I'm on the /users/:id page:
      • I can create new Canvases
        • So that I can compile groups of my favorite tattoos.

Viewing Canvases

  • As a logged in user, I want to be able to navigate through my or other peoples compilations of Inks.
    • When I'm on the '/users/:id' page:
      • I can view canvases that the user has created
        • So that I can get inspired and discover new groups of tattoo ideas

View the contents of a Canvas

  • As a logged in user, I want to be able to view the inks on a canvas
    • When I'm on the /users/:canvas_id/
      • I can view the content of the Canvas (Bonus: and its Likes and Comments).
        • So that I can see all the inks that are there...

Edit a Canvas

  • As a logged in user, I want to be able to edit my Canvases by clicking an Edit button associated with the Canvas anywhere that Canvas appears
    • When I'm on the /users/:canvas_id, or /users/:id pages:
      • I can click "Edit" to make permanent changes to the canvas I have posted.
        • So that I can fix any attributes of the canvas I don't like

Delete a Canvas

  • As a logged in user, I want to be able to delete my Canvases by clicking an Delete button associated with the Canvas anywhere that Canvas appears
    • When I'm on the /users/:canvas_id, or /users/:id pages:
      • I can click "Delete" to permanently delete a Canvas I have posted.
        • So that when I realize my canvas is bad, I can get rid of it.

Followers


View Users that I Follow

  • As a logged in user, I want to be able to view the users I follow
    • When I'm on the /users/:id page:
      • I can click the following button
        • So that I can see a list of all the users I follow

View My Followers

  • As a logged in user, I want to be able to view the users who follow me
    • When I'm on the /users/:id page:
      • I can click the followers button
        • So that I can see a list of all the users who are following me

Follow another user

  • As a logged in user, I want to be able to follow other users
    • When I'm on the /users/:id page:
      • I can click the follow button
        • So that I can more easily see new pins and canvases from that user

View Follows/Followers of other users

  • As a logged in user, I want to be able to view the users who follow other users
    • When I'm on the /users/:id page of another user:
      • I can click the followers/following buttons
        • So that I can see a list of all the users they are following/are followed by