Workflow | yes / no |
---|---|
Deployed to Heroku | |
Before logging in | |
Browse all products, by category, by merchant | |
Leave a review | |
Verify unable to create a new product | |
After logging in | |
Create a category | |
Create a product in that category with stock 10 | |
Add the product you created to your cart | |
Add it again (should update quantity) | |
Verify unable to increase quantity beyond stock | |
Add another merchant's product | |
Check out | |
Check that stock was reduced | |
Change order-item's status on dashboard | |
Verify unable to leave a review for your own product | |
Verify unable to edit another merchant's product by manually editing URL | |
Verify unable to see another merchant's dashboard by manually editing URL |
Area | yes / no |
---|---|
Routes | |
No un-needed routes generated (check reviews ) |
|
Routes not overly-nested (check products and merchants) | |
Merchant dashboard and cart page use a non-parameterized routes (should pull merchant or cart ID from session) | |
Controllers | |
Controller-filter to require login by default | |
Helper methods or filters to find logged-in user, cart, product, etc | |
No excessive business logic | |
Business logic that ought to live in the model | |
Add / remove / update product on order | |
Checkout -> decrease inventory | |
Merchant's total revenue | |
Find all orders for this merchant (instance method on Merchant ) |
|
Selected Model Tests | |
Add item to cart: - Can add a good product - Can't add a product w/o enough stock - Can't add a retired product - Can't add to an order that's not in cart mode - Logic specific to this implementation |
|
Get orders for this merchant: - Includes all orders from this merchant - Doesn't include orders from another merchant - Orders are not included more than once - Does something reasonable when there are no orders for this merchant |
|
Selected Controller Tests | |
Add item to cart: - Empty cart (should be created) - Cart already exists (should add to same order) - Product already in cart (should update quantity) - Bad product ID, product is retired, quantity too high, or something like that (error) |
|
Leave a review: - Works when not logged in - Works when logged in as someone other than the product's merchant - Doesn't work if logged in as this product's merchant - Doesn't work if validations fail |
Great work overall! You've built a fully functional web store from top to bottom. This represents a huge amount of work, and you should be proud of yourselves!.
I am particularly impressed by the way that you...
I do see some room for improvement around...
bEtsy is a huge project on a very short timeline, and this feedback should not at all diminish the magnitude of what you've accomplished. Keep up the hard work!