BookStack is a full-stack E-Commerce site build in Node.js and deployed on Heroku. The app utilizes Auth0 jsonwebtoken for authentication and authorization. The frontend features a cart that persists locally for guests and cross-browser for logged in users. Backend models and api's allow for full order history and cart functionality. Through tables allow for quick access of past purchases and unpurchased items (cart), as well as REST APIs for updating items as needed. The database seed includes 125 unique items and 12 users.
- access a deployed version of the website so I can browse and purchase products.
- view all available products so I can pick from a variety.
- view a single product so I can see more details.
- add a product to my cart so I can collect my desired products in one place.
- edit my cart if I change my mind:
- change the quantity of a product in my cart.
- remove a product in my cart.
- No one else should be able to edit my cart except me._
- "checkout" the items in my cart so I can purchase my desired goods.
- Starts with by simulating the experience of checking out with a simple confirmation page._
- create an account so I can have a logged-in experience.
- have a persistent cart so I can revisit and pick up where I left off.
- Logged-in-user across multiple devices: I'm logged in on my mobile device and add some items to my cart. When I open the browser on my laptop and log in, I want to see those items in my cart._
- No one else should be able to edit my cart except me._
- have validated data to ensure reliability.
- ie. each customer that creates an account should only be able to do so once with a single email address._
- have full rights to make backend requests to ✅ add, ✅ edit, and ✅ remove products.
- No one else should have access.
- view user information.
- No one else should have access.
- have a well-seeded database so that I am able to simulate a number of different scenarios for the user stories below.
- By doing this, you really set yourselves up to tackle many of the points throughout the tiers. In the long run, this will save you, potentially, tons of time._
- For example, seed hundreds of products with dummy data so that when you get to the “pagination” user story, you won’t have to worry about adding more products.
- Likewise, add a bunch of users with products in their carts so editing the cart can be worked on without already having the “add to cart” functionality built out._
- user data should be secure so that no one can unrightfully manipulate information.