Skip to content

User Stories

taylor-b-02 edited this page Aug 20, 2021 · 12 revisions

User Stories Wiki Page

User Stories

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 or username 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.
      • If I happen to login with and email or username that is not yet in the system, I will get an error message saying "this email does not exist"
      • If I happen to login with the wrong password, I will get an error message saying "Invalid password"

    Note: Logging in will use session based authentication

Demo User

  • As an unregistered and unauthorized user, I would like an easy to find 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 the landing page /, which will have prompts for logging in.
        • So that I can easily log out to keep my information secure.

Create Lists

  • As a logged in user, I want to be able to create new lists.
    • When I'm on the /home page:
      • I can write and submit a new list. /list/:listId
        • So that I can record my stored my tasks.

          Note: one list has many tasks

Create Tasks

  • As a logged in user, I want to be able to create new tasks.
    • When I'm on the /list/:listId page:
      • I can write and submit a new task.
        • So that I can record my stored my tasks.

          Note: one task can have many lists

Search

  • As a logged in user, I want to be able to search through my contacts, tasks, and lists.
    • When I'm on the /home page:
      • I can search for either contacts, tasks, or lists.
        • So that I can quickly access specific contacts, tasks, and lists.

(Un)Check Items as Complete

  • As a logged in user, I want to be able to check off items as complete.

    • When I am on the /list/:id:
      • I should be able to click a button/checkbox to mark as complete.

        Note: Marked as complete has the option to delete, but visually shows completed.

    Note: This should be done dynamically

Edit Tasks

  • As a logged in user, I want to be able to edit my tasks.
    • When I am on the /lists page:
      • I can click the edit button that is next to the task I want to edit.

        Note: This should change the task to the updated task.

Edit List Names

  • As a logged in user, I want to be able to edit the name of my lists.
    • When I am on the /home page:
      • I can click on the edit button this is next to the list name I want to edit. Note: This should change the list name to the updated list name.

Edit User Information

  • As a logged in user, I want to be able to edit user information.
    • When I am on the /list/:id page, I can click on "profile" on my nav bar.
      • I can click on the edit button to edit the whole profile