Skip to content

Conversation

@saintmedusa
Copy link

Assignment Submission: bEtsy

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions. These should be answered by all members of your team, not by a single teammate.

Reflection

Prompt Response
Each team member: what is one thing you were primarily responsible for that you're proud of?
Each team member: what is one thing you were primarily responsible for that you would like targeted feedback on?
How did your team break up the work to be done?
How did your team utilize git to collaborate?
What did your group do to try to keep your code DRY while many people collaborated on it?
What was a technical challenge that you faced as a group?
What was a team/personal challenge that you faced as a group?
What was your application's ERD? (upload this to Google Drive, change the share settings to viewable by everyone with a link, and include a link)
What is your Trello URL?
What is the Heroku URL of your deployed application?

easternwashingaden and others added 30 commits June 15, 2020 15:57
easternwashingaden and others added 29 commits June 18, 2020 18:10
@CheezItMan
Copy link

bEtsy

Functional Requirements: Manual Testing

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 ⚠, I can't log in to the deployed version!
Create a category ✔️
Create a product in that category with stock 10 ⚠ I can create a product with a quantity of 10, but I can't create a product with a quantity of 1. That's because the select fails if there's not more than one item in the drop-down.
Add the product you created to your cart ✔️
Add it again (should update quantity) ✔️, sort of, instead it prompts me to update the quantity.
Verify unable to increase quantity beyond stock ✔️
Add another merchant's product ✔️
Check out ⚠ there's a problem in that it tells me the mask is out of stock, which is badly formatted btw, and it ISN'T.
Check that stock was reduced ⚠ it seems to have reduced the stock BEFORE I successfully checked out. See the OrdersController and my comments!
Change order-item's status on dashboard ✔️
Verify unable to leave a review for your own product ✔️, yes, but it shouldn't even give me the form.
Verify unable to edit another merchant's product by manually editing URL ⚠ I am able to edit another merchant's products!!!!
Verify unable to see another merchant's dashboard by manually editing URL ✔️

Major Learning Goals/Code Review

Criteria yes / no
90% reported coverage for all controller and model classes using SimpleCov ✔️
Routes
No un-needed routes generated (check reviews) ✔️, no unused routes, but you do have some custom routes that could be done with resources.
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 ✔️, although it's broken as noted above
Merchant's total revenue ✔️
Find all orders for this merchant (instance method on Merchant) ✔️, using built-in methods in Model
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
⚠ no test for adding an orderItem to a completed or paid order.
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
- Review Doesn't work if logged in as this product's merchant
- Doesn't work if validations fail
✔️

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality Yes?
Perfect Indentation
Descriptive/Readable
Logical/Organized

Overall Feedback

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 almost had 100% test coverage and that you created built a responsive web application. You also did a great job with filters.

I do see some room for improvement around testing for errors and testing in general. You didn't have cases where you tested when a product had 1 item, or if it had 0 items in stock. You also didn't have tests for unauthorized users doing things like editing products.

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!

On to Capstone!!

Only the person who submitted the PR will get an email about this feedback. Please let the rest of your team know about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants