Skip to content

User Stories

tristan-88 edited this page Apr 24, 2021 · 2 revisions

Sign Up

  • As an unregistered user, I want to be able to create an account using a sign up form.
    • While on the users/signup page:
      • I want to be able to input my email, username, and preferred password into the sign up form.
      • I want the website to log in me in after successfully completing the sign up form.
        • So that I can access the registered users functionality.
    • When I enter invalid data on the sign up form:
      • I would like to be informed of any invalid inputs and have the form repopulate my previous valid inputs (with the exception of my password).
        • So that I can reattempt the form validation process without having to re-enter valid data.

Log In

  • As a registered user, I want to be able to log in with a login form.
    • While on the users/login page:
      • I would like to be able to enter my username and password on a form.
      • I want the website to log in me in after successfully inputting valid information.
        • So that I can access the registered users functionality.
    • When I enter invalid data on the log in form.
      • I would like to be informed of any invalid inputs and have the form repopulate my previous valid inputs (with the exception of my password).
        • So that I can reattempt the form validation process without having to re-enter valid data.

Demo User

  • As an unregistered user, I want to be able to easily locate the demo button on the users/signup and users/login pages so I can be allowed to use the site without the need of having to register or log in.
    • When I'm on the users/login or users/signup pages:
      • I can click on a Demo User button to log me in and allow me access as a registered user.
        • So that I can demo the site's features and functionality without being hindered by additional registration requirements.

Log Out

  • As a logged in user, I want an easily accessible logout button on the nav bar.
    • While on any page of the site:
      • I can easily logout and be redirected back to the home page.
        • So that I can easily log out and keep my information secure.

Shopping Cart

Adding items on my Shopping Cart

  • As a logged in user, I want to be able to use the Shopping Cart tied with my account and add product(s) in it.
    • When I'm on the /items/:id page:
      • I can add product or products in a shopping cart tied to my account.
        • So that I can add product or products that l need and/or desire.

Viewing Items on my Shopping Cart

  • As a logged in or logged out user, I want to be able to the see item(s) that I added in my shopping cart.
    • When I'm on the cart modal page:
      • I can view the items I have added in my shopping cart.
        • So that I can know what I am about to buy or going to buy.
  • As a logged in or logged out user, I want to be able to view a specific items in my cart
    • When I'm on the cart modal:
      • I can view the content of the shopping car, interact with the item I have selected to be in my shopping cart.
        • So that I can see more details about the item.

Updating Items quantity on my Shopping Cart

  • As a logged in user, I have the capability to edit my shopping cart and either increment or decrement chosen product quantity.
    • When I'm on the shopping cart modal:
      • I can press ''qty -" or "qty +" to make lasting changes to my potential order.
        • So when I change my mind make those changes on the whim instead having to start over.

Deleting Items on my Shopping Cart

  • As a logged in user, I want to have the ability to delete an item or items in my shopping cart all together with a delete button.
    • When I'm on the cart modal:
      • I can click "Delete" to permanently delete an item or items.
        • So that when I realize I should not get the item or item I can without any troubles or consequences.

Reviews

Create a Review

  • As a logged in user, I want to be able to post Review to a specific items page.
    • When I'm on the /items/:item page:
      • I can write and submit a new Review.
        • So that I can express my feelings about the products.

Updating Review

  • As a logged in user, I have the capability to edit my own written Review by clicking an Edit button paired with the Review
    • When I'm on the items/:item page:
      • I can press "Edit" to make lasting changes to the Review(s) that I have written.
        • So that I can trim, add-on as I desired in my Review and fixed any error if need be.

Deleting Review

  • As a logged in user, I want to have the ability to delete my own written Review(s) by clicking a Delete button associated with the Review.
    • When I'm on the /items/:item page:
      • I can click "Delete" to permanently delete a Review I have posted.
        • So that when I realize I shouldn't have publicly said something or think it has lost its relevancy, I can easily remove it.

Product Listing

Listing items for sale

  • As a logged in user, I want the ability to sell products in the website.
    • When I'm on my own /users/:id page:
      • I can open and store and add items listing to be put on sale
        • So that I can make profit for things I want to distribute and be able to buy all the things I want without going broke

View items for sale

  • As an unregistered and register user, I want the ability to see products for sale in the website.
    • When I'm on my own /products page:
      • I can see the products that are for sale and in season or theme.
        • So I can browse do a virtual window shopping, peek my interest and even do some retail therapy to satisfy based on my need and desired

Searching for Product

  • As a logged in or logged out user, I want the ability to search for a specific/relative Product.
    • When I'm on any page:
      • I can search using the NavBar.
        • So that I can find specific or Relative Product.

Favorite a Product

  • As a registered user, I want to be able favorite a Product.
    • When I'm on the /, /items/:item , /items, /search-result page:
      • I can favorite a Product.
        • So that I can remember I love the Product and will be incline to buy it or buy it again.