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 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.
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.
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 page displaying recent Items.
So that I can easily log out to keep my information secure.
Items
Save Items
As a logged in user, I want to be able to save items I like to watch them later.
When I am on the /:
I can save items into my saved-items page.
When I am on the /saved-items:
I can watch all of the items I saved them before into my saved-items page.
When I am on the /saved-items/:id:
I can edit, and delete items from my saved-items page.
Viewing Items
As a logged in or logged out user, I want to be able to see the items and explore them.
When I'm on the / page:
I can see and explore all the items.
When I'm on the /items/:id page:
I can see the details of one item.
Saving items into the cart
As a logged in user, I want to be able to save items to my cart.
When I am on the /:
I can put items into my cart.
When I am on the /cart:
I can watch all the items I put into the my cart before.
When I am on the /cart/:id:
I can edit, and delete items from my saved-items page.
Checking out Items (Bonus)
As a logged in or logged out user, I want to be able to check out the items I put them into my cart.
When I'm on the /checkout page:
I can put my visa card detail and checkout the items I want to buy.