Skip to content

User Stories

Tran Le edited this page May 31, 2021 · 8 revisions

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, preferred password, and confirmed 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 login 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 login form.
        • So that I can seamlessly access the site's functionality
    • When I enter invalid data on the login 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 both the /signup and /login pages to allow me to visit the site as a demo user 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 as a demo 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 login page.
        • So that I can easily log out to keep my information secure.

Routines

Viewing Routines

  • As a logged in user, I want to be able to view my day and night routine.
    • When I am on the / page:
      • I want to be able to toggle between the day and night routine.
        • So that I can see all the products I can track and plan to use.

Adding Products to Routines

  • As a logged in user, I want to be able to add products to my routines.
    • When I am on the /products/product_name or /products page:
      • I can click on a button to add the product to my routine.
        • So that the product shows up as a product that can be used in either my day, night, or both routines.

Products

Viewing Products

  • As a logged in user, I want to be able to view products.
    • When I am on the /products page:
      • I can look at a list of products in various categories such as toners, moisturizers, serums, etc.
        • So that I can view which products are available to add to a routine.
  • When I am on the /products/product_name page:
    • I can look at a specific product's information.
  • When I am on the / page:
    • I can view the products I have added to my routines on the routines tab.
      • So that I can check off which products I've used for that day.

Adding Products

  • As a logged in user, I want to be able to add products to my routine that are not in the available products list.
    • When I am on the /products page:
      • I would like to be able to click on a custom button to add a new product to my database.
      • I would like to be able to enter product name, choose a layer step (cleansers, essences, exfoliants, serums, moisturizers, etc.), routine schedule, time of use, ingredients, and various other inputs.
        • So that I can specify how the added product is to be used in my routine.
      • I would like the product to be added to my routines when the product is submitted.

Updating Products

  • As a logged in user, I want to be able to update custom product settings.
    • When I am on the /products/product_name page:
      • I would like to be able to click on the settings tab that shows an edit form for the product.
        • So that I can update and personalize the product settings with new information like when I opened the product, the PAO (Period After Opening), and conflicting concerns.

Deleting Products

  • As a logged in user, I want to be able to delete custom products.
    • When I am on the /products/product_name page:
      • I would like to be able to click on the settings tab.
        • So that I can delete a custom product and it is removed from the products list and routines.

Care Journal + Calendar

Viewing Calendar

  • As a logged in user, I want to be able to view a journal that shows all my entries.
    • When I am on the /journal page:
      • I want to be able to see a log of all my entries ordered by most recent.
        • So that I can keep track of my skin's progress.

Adding Entries

  • As a logged in user, I want to be able to add an entry to my journal.
    • When I am on the /journal page:
      • I want to be able to click on an add button that opens a window to a journal form.
        • So that I can keep track of my skin process for that given day.

Updating Entries

  • As a logged in user, I want to be able to edit a journal entry.
    • When I am on the /journal page:
      • I want to be able to click on an edit button that navigates to the specific journal entry form of /journal/date/edit
        • So that I can edit the entry for that given day.

Deleting Entries

  • As a logged in user, I want to be able to delete an entry in my journal.
    • When I am on the /journal/date page:
      • I want to be able to click on a delete button to remove the entry.
        • So that the specific journal entry is removed from my care journal.

Search

  • As a logged in user, I want to be able to search for products by name.
    • When I am on the /products page:
      • I can search for a product.
        • So that I can find a specific product I want to view.
  • As a logged in user, I want to be able to search for a journal entry.
    • When I am on the /journal page:
      • I would like to be able to use the search bar to find entries.
        • So that I can filter for specific entries by date or skin rating.