Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sharon, Sara, Shonda, Nataliya - Well Betsy - Stay Well ;) #29

Open
wants to merge 389 commits into
base: master
Choose a base branch
from

Conversation

sarabrandao21
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? Shonda: Checkout looks and feels amazing, Sara: Quantity works :), Sharon: dashboard works with filter, Nataliya: proud of designing the ordering functionality and supporting my awesome team members and fixing tests.
Each team member: what is one thing you were primarily responsible for that you would like targeted feedback on? Sara: add_product method, Sharon: model methods, Nataliya: Order Controllers methods and tests, Shonda: regex for expiration date and email.
How did your team break up the work to be done? We had meetings where we added Trello cards and divided the responsibilities. And also help each other when they were in need.
How did your team utilize git to collaborate? We used branch for everything and just merged to master when we were together.
What did your group do to try to keep your code DRY while many people collaborated on it? We created helper methods to keep the code dry and a lot of talking made us realize what was not needed.
What was a technical challenge that you faced as a group? Merging conflicts.
What was a team/personal challenge that you faced as a group? Schedule differences.
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) https://drive.google.com/file/d/1GU1crcPaJfbVZtdYcVIHt3LMxxDJ4QIl/view
What is your Trello URL? https://trello.com/b/mMaXfeoh/besty-project
What is the Heroku URL of your deployed application? https://well-etsy.herokuapp.com/

npogodina and others added 30 commits June 12, 2020 10:21
readded testing to products controllers
sarabrandao21 and others added 29 commits June 18, 2020 15:12
updated checkout to show quatity and bandges
created vals test for model order and checkout
@CheezItMan
Copy link

bEtsy

Functional Requirements: Manual Testing

Workflow yes / no
Deployed to Heroku ✔️
Before logging in
Browse all products, by category, by merchant ✔️
Verify can't create a category when not logged in ⚠ Whoops, I can create categories when not logged in.
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 ✔️, Odd that the form fields and their labels don't line up.
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 ✔️, however you should tell the user that they only need 4 digits for credit card numbers
Check that stock was reduced ⚠ I think it did, but now that I've bought all of a product the page crashes!
Change order-item's status on dashboard ⚠ Due to the bug above, I can't get to the dashboard, same error.
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 ✔️

Major Learning Goals/Code Review

Criteria yes / no
90% reported coverage for all controller and model classes using SimpleCov ✔️, you have good coverage, just some empty helper files.
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 MISSING
Helper methods or filters to find logged-in user, cart, product, etc ✔️, only for finding the user
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
✔️, no test for retired products, but otherwise good
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)
⚠ no verification that I can't view another merchant's orders.
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
✔️

Code Style Bonus Awards

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

Quality Yes?
Perfect Indentation
Elegant/Clever
Descriptive/Readable
Logical/Organized

Overall Feedback

Suggestion: make the product images clickable.

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 very much like your styling and your test coverage.

I do see some room for improvement around testing for products without any stock, and using filters to require a user be logged in and requiring that only the owner can visit certain routes.

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!

NOTE The bugs I found only occurred in Heroku, not when I ran things locally. Weird. So I wasn't able to identify where they happened. Did you maybe forget to redeploy?

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