User Stories - lucascostamonteiro/RememberTheBread 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, and password.
    • I would like the website to log me in upon successful completion of the sign-up form.
  • 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).

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.
    • I would like the website to log me in upon successful completion of the log-in form.
  • When I enter invalid data on the log-in 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).

Demo User

On the log-in page, a demo user will be able to click a button to gain access to the site and access all of the features.

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

Lists

Create lists As a logged in user, I want to be able to create lists on my main page.

  • When I'm on the /:userId page:
    • I can name a list to add my tasks.

Read lists As a logged in user, I want to be able to see all my lists in the list summary on the left side of the main page.

Update lists As a logged in user, I want to be able to edit my lists on my main page.

  • When I'm on the /:userId:
    • I can rename the selected list by pressing a button next to the list.

Delete lists As a logged in user, I want to be able to delete any of my lists.

  • When I'm on the /:userId page:
    • I can remove a list by pressing a button next to the selected list. It should ask me if I'm sure about deleting it then redirect to the main page /:userId.

Tasks

Create tasks As a logged in user, I want to be able to create new tasks and add them to any of my lists.

  • When I'm on the /:userId page:
    • I can fill out a new task, add to any of my lists, and submit a new task to complete.

Read tasks As a logged in user, I want to be able to see all my tasks displayed on the main page.

  • When I'm on the /:userId page:
    • I can see all my tasks listed on my home page.

Update tasks As a logged in user, I want to be able to edit.

  • When I'm on the /:userId page:
    • I can select any task to rename, or change expected completion date.

Delete tasks As a logged in user, I want to be able to delete tasks.

  • When I'm on the /:userId page:
    • I can select any task and delete it.

List summary

As a logged in user, I want to be able to view my lists easily on my main page.

  • When I'm on the /:userId page:
    • I can easily navigate between lists by viewing and selecting any of them on the left side of the screen.
    • I am able to see the name of all my lists.

Search

As a logged in user, I want to be able to search for tasks.

  • When I'm on the /:userId page:
    • I can easily search for my lists or tasks by using the search bar at the top of the page.