Created by K Strickland, Robbie Bixler, Aiden Flynn & Yurii Yarema.
Welcome to our e-commerce app! This store sells hats modeled by adorable animals. Users can browse a catalog of hats without being logged in, and when they log in they are able to add items to their cart and go through checkout (integrated with Stripe). Users can also view past orders.
- HTML5
- CSS3
- Bootstrap
- JavaScript
- jQuery
- Handlebars
- Ajax
- Express
- MongoDB
- Mongoose
- Heroku
- Stripe
Throughout the project we had daily standups and used mob programming and pair programming on most of the features.
- Back-end setup
- CRUD actions
- Auth actions
- Stripe
- Design
- README
- Bugs/troubleshooting
- As an unregistered user, I would like to sign up with email and password.
- As a registered user, I would like to sign in with email and password.
- As a signed in user, I would like to change password.
- As a signed in user, I would like to sign out.
- As an unregistered user, I would like to see all of the products.
- As a signed in user, I would like to add and remove products from a shopping cart.
- As a signed in user, I would like to purchase products in a shopping cart using Stripe.
- As a signed in user, I would like to see all my past orders.
- Build a search feature so that people can search for specific products by name
- POST /sign-up users#signup
- POST /sign-in users#signin
- DELETE /sign-out users#sign-out
- PATCH /change-password users#changepw
- GET /products products#index
- GET /products/:id products#show (related to stretch goal)
- POST /orders orders#create
- GET /orders orders#index
- PATCH /orders/:id orders#update
The stripe documentation was pretty confusing to sort through. We spent a lot of time figuring out where to set up stripe in our files, and what pieces were necessary from the docs. We watched several tutorials and were able to get it working on the third day!
We were considering creating a seed button with admin privilleges that we could click to populate the store with items. We ended up figuring out how to use mLab to add documents to the database, and that worked very well.
This feature was confuding because it seems like we should be 'deleting' something, but really we are using a PATCH route to update the cart by remove an item from the order's items array. We had to troubleshoot a lot of bugs related to this feature.
- Make past order display only owned past order of signed in user (bug).
- Add more information to past order display (currently shows timestamp).
- Remove add to cart button for items already in cart.
- Give the user a confirmation message when an item is successfully added to the cart.
- When cart is empty, show a message to the user, "Cart empty".
- Add quantity to items in cart.
- Item search bar.
Please do not submit real credit card information through the app. Instead, use the following test card number, a valid expiration date in the future, and any random CVC number, to create a successful payment: 4242 4242 4242 4242