Skip to content

User Stories

Angie Maidt edited this page Jul 27, 2022 · 1 revision

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, and preferred password on a clearly laid out form.
        • I expect the form to have fields for:
          • Full name
          • Email
          • Location (city, state, country)
      • 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 click the login button a modal pops up:
      • 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.

User Profile Page

  • As a logged-in user, I expect to have a profile page /users/:id where I can view:
    • My personal info, including my:
      • Full name
      • Biography
      • Location
      • Average Rating
      • Reviews
      • Task Completed
    • Can edit my personal info

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find and clear button on both the /signup page and login modal to allow me to visit the site as a guest without signing up or logging in.
    • When I'm on either the /signup page or login modal:
      • 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 /.
        • So that I can easily log out to keep my information secure.

Tasks

  • As a logged in user I want to see all available tasks on the home page.
  • As a logged in user I want to see all of my tasks on my profile page
    • When I click on create a task button I expect to be taken to /tasks/new page where a form will populate.
      • After a complete the form I will be redirected to my tasks at users/:id/tasks
    • As the creator of the task, I will be able to edit and delete from /tasks/:id as well as /users/:id/tasks
    • After I delete my task, I will be redirected to users/:id/tasks
  • As a logged out user, I will be able to view all tasks.

Reviews

  • As a logged in user, I can leave a review on a person's profile if they have completed a task for me or if I completed a task for them.
    • I expect to see a review button that when pressed will populate a modal with a review form.
    • As the creator of the review, I will be able to edit and delete my review at /reviews/:id.
  • As a logged in user, I can view the reviews I have made on my profile at users/:id/reviews, as well as the reviews people have left on my tasks
  • As a logged out user, I can view other peoples reviews on their profile

Tags

  • As a logged in and logged out user I expect to be able to see tasks sorted by their tags.
  • As a logged in user when creating a task we can assign tags
  • I can update/delete the tags associated to a task when editing that task.
  • On the home page I expect to see the tags associated with the task.

Clone this wiki locally