User Stories - michellekontoff/spudhub 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 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.
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 on a clearly laid out form.
I would like the website to log me in upon successful completion of the log-in form.
So that I can seamlessly access the site's functionality
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).
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 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.
As a Demo user I have all the functionality that a logged-in user has.
Log Out
As a logged in(LI) 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 page displaying recent product listings.
So that I can easily log out to keep my information secure.
Product Listing
Create product
As a LI user I want to be able to create a new product listing.
When I'm on the /products/new page:
I can create and submit a new product.
So that I can make lots of money.
Viewing
As a logged-out(LO) or LI user I want to be able to view the most recent posted products on the landing page.
If you are LI or LO users I want to be able to go to a specific product page where I can also view the reviews and product descriptions.
If I am a LI user I want to be able to see a purchasing button on the product page.
Updating
As a LI user I want to be able to edit and update my created product listing when I click the edit button on the product page.
When I am on the /products/:id page:
I can click "Edit" to make permanent changes to the product listed.
Deleting
As a LI user I want to be able to delete my product that I've listed by clicking the Delete button associated with the product.
When I'm on the /products/:id page:
I can click on "Delete" to permanently delete a product.
Shopping Cart
Viewing
When I'm on the /shopping-cart page:
As a LI user I want to be able to see all my items with their quantities and their prices.
As a LI user I want to be able to see the subtotal and purchase button at the bottom of the page.
I can get to my shopping cart page from the nav bar
Updating
When I'm on the /shopping-cart page:
As a LI user I want to be able to update the quantity of each item in my cart.
As a LI user I want to be able to add items to my cart from the product page.
Deleting
When I'm on the /shopping-cart page:
As a LI user I want to be able to delete items from my cart.
Reviews
Creating
When I'm on the /products/:id page:
As a LI user I want to be able to leave a review on the product page of products I've purchased.
Viewing
When I'm on the /products/:id page:
As a LI or LO user I want to be able to view the reviews on a product page.
Updating
When I'm on the /product/:id page:
As a LI user I want to be able to edit my review.
I can click the "Edit" button next to my review and edit it.
Deleting
When I'm on the /product/:id page:
As a LI user I want to be able to delete my review.
By clicking the "Delete" button next to my review I can delete the review.
Search
As a LO or LI user I can use the search bar to find products by name.
I want to be able to search a product by name and have the search return any products that match my input.