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

Sockets - Sarah, Bita, Carla, Kelly #82

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

Sockets - Sarah, Bita, Carla, Kelly #82

wants to merge 492 commits into from

Conversation

kdow
Copy link

@kdow kdow commented May 10, 2019

bEtsy

Congratulations! You're submitting your assignment! These comprehension questions should be answered by all members of your team, not by a single teammate.

Comprehension Questions

Question Answer
Each team member: what is one thing you were primarily responsible for that you're proud of? Sarah: All The merchant Dashboard functionality and styling, as well as Authorizing that the that a Merchant cant view things belonging to other merchants. Carla: Browse by product and browse by category views, where products are rendered on the same page. Bita: I was mainly working on the order, to have the requirement such as reducing the quantity after purchase or not letting someone buy more than the inventory or stopping the cart from taking duplicate item I wrote custom method on product model and used it in the order controller and I am happy about the way I was able to use custom methods to dry my code. Kelly: I’m proud of the product show page.
Each team member: what is one thing you were primarily responsible for that you would like targeted feedback on? Sarah: The auth_seller before action Bita: I would like to have feedback about my tests on order controller. Kelly: The review logic. Carla: I would like feedback on the most_popular method in the product model and how to test for it.
How did your team break up the work to be done? We read through the list of requirements every few days and each person would claim a task. As the project evolved, people naturally gravitated towards areas they had been working on.
How did your team utilize git to collaborate? We created sub-branches to work on smaller changes and would coordinate to push and pull to and from master.
What did your group do to try to keep your code DRY while many people collaborated on it? We worked fairly independently on separate files, so there wasn’t a lot of overlap.
What was a technical challenge that you faced as a group? Coordinating the initial design and schema of the program to make sure that everything would fit together properly.
What was a team/personal challenge that you faced as a group? Coordinating git branches, and ensuring that local code wouldn’t break what was on master.
What was your application's ERD? (include a link) https://drive.google.com/file/d/0B1qrOTR5WLKiWFVCV0NpRTVsNkhFVEpxRkwxU0c1dmNNYUg0/view
What is your Trello URL? https://trello.com/b/jNkhcTgn/betsy
What is the Heroku URL of your deployed application? https://catsy-shop.herokuapp.com/

@droberts-sea
Copy link

bEtsy

What We're Looking For

Manual testing

Workflow yes / no
Deployed to Heroku yes
Before logging in
Browse all products, by category, by merchant yes
Leave a review yes - can't leave a 5-star review!
Verify unable to create a new product yes
After logging in
Create a category yes
Create a product in that category with stock 10 yes - would be great if the category list was on the create product page
Add the product you created to your cart yes
Add it again (should update quantity) yes - produced an error, this is fine
Verify unable to increase quantity beyond stock yes
Add another merchant's product yes
Check out yes
Check that stock was reduced yes
Change order-item's status on dashboard yes
Verify unable to edit another merchant's product I was able to do this by typing in the URL manually
Verify unable to see another merchant's dashboard I was able to do this by typing in the URL manually
Verify unable to leave a review for your own product yes

Code Review

Area yes / no
Routes
No un-needed routes generated (check reviews) yes
Routes not overly-nested (check products and merchants) product edit / update should not be nested under merchant, since you can get the merchant through the product. What would your code do if they didn't match up?
Merchant dashboard and cart page use a non-parameterized routes (should pull merchant or cart ID from session) It is not immediately clear to me which routes these are! This tells me that your route and controller action naming could be better.
Controllers
Controller-filter to require login by default not by default
Helper methods or filters to find logged-in user, cart, product, etc yes
No excessive business logic yes
Business logic that ought to live in the model
Add / remove / update product on order some of this is in model methods, but I would like to see the whole thing organized that way (would be good for testing)
Checkout -> decrease inventory yes
Merchant's total revenue yes
Find all orders for this merchant (instance method on Merchant) yes
Find all items from this order that are sold by this merchant (instance method on Order) yes
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
some - your organization of this logic doesn't quite lend itself to some of these tests
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
some
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)
missing some
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
got authentication, missing validation failures

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

@droberts-sea
Copy link

Overall Feedback

Great work overall! You've built a fully functional web store from top to bottom, everything short of payment processing. This represents a huge amount of work, and you should be proud of yourselves! Your code is pretty well organized all the way from the CSS to the database, and I am quite happy with this submission. There are definitely places where things could be cleaned up or refined, particularly around authorization and the way your routes are organized. However 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!

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