Skip to content

Conversation

@paulentine
Copy link

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? Grace: I was responsible for reviews, categories, and the front end. Happy with the Product Index in particular. Karla: products controller and testing across some models and controllers. Riyo: orders and the merchant dashboard. I guess I'm most proud of refactoring the order model logic by adding relations to the merchant. Pauline: Getting multiple controllers to work together to instantiate Order, Order Items in cart, and validate Order at checkout was a fantastic learning experience and greatly satisfying!
Each team member: what is one thing you were primarily responsible for that you would like targeted feedback on? Grace: Where/how I could’ve used Bootstrap to make the styling less time consuming and better looking… Karla: cart_controller_test.rb, business logic tests in order_test.rb Riyo: The merchant show page and how the html could be better organized with classes. Pauline: Database setup, migrations and relationships.
How did your team break up the work to be done? Our team stayed physically close to each other, for easy communication, and also utilized a Trello board. We would claim tasks as we went along and kept each other updated at Stand Up
How did your team utilize git to collaborate? We did pull requests for every function ready to be integrated, using individual branches and then pushing to the master. We reviewed each other’s PR’s as a double check.
What did your group do to try to keep your code DRY while many people collaborated on it? We made incremental changes. By reviewing the pull requests, we avoided duplications and potential merge errors. We also tried not to touch the same file at the same time.
What was a technical challenge that you faced as a group? Filtering the orders in the Merchant Dashboard and getting the cart functional.
What was a team/personal challenge that you faced as a group? While the major functionalities were met, we didn’t anticipate the amount of time needed for the little things. Details!
What was your application's ERD? (include a link) https://www.lucidchart.com/invitations/accept/c19ca0e8-a70c-4e62-90ed-78742490e368
What is your Trello URL? https://trello.com/b/kTcH8ijY/expy
What is the Heroku URL of your deployed application? https://expy-app.herokuapp.com/

gracemshea and others added 30 commits May 6, 2019 11:35
Gs/styling - merchant views added
making show page for product less gross
Fix seeds file: Mismatched variables, remove var shadowing
Added Merchants controller & model tests, update flash to have status & message
added review form to product show
gracemshea and others added 29 commits May 10, 2019 13:42
Rap/quantity minimums and added link to product on billing page
Various cart-check out edge cases handling
Checkout related: will validate order's order items' quantity & update product's quantity in databasePvs/cart
@dHelmgren
Copy link

bEtsy

What We're Looking For

Manual testing

--- | ---
Deployed to Heroku | yes
Before logging in |
Browse all products, by category, by merchant | no, merchant and category drop downs don't work
Leave a review | No, route has a wrong param.
Verify unable to create a new product | sort of? It auto logs me in, which is against spec.
After logging in | |
Create a category | page exists, button is unclickable (behind sidebar)
Create a product in that category with stock 10 | yes
Add the product you created to your cart | yes
Add it again (should update quantity) | no, it claims there is no stock left
Verify unable to increase quantity beyond stock | unable to verify
Add another merchant's product | Could not access any other product, as a product without an image breaks the product index page
Check out | broken route on checkout
Check that stock was reduced | could not confirm as checkout was broken
Change order-item's status on dashboard | missing
Verify unable to leave a review for your own product | broken
Verify unable to edit another merchant's product by manually editing URL | yes
Verify unable to see another merchant's dashboard by manually editing URL | no

Code Review

--- | ---
Routes |
No un-needed routes generated (check reviews) | order items has unused routes
Routes not overly-nested (check products and merchants) | yes
Merchant dashboard and cart page use a non-parameterized routes (should pull merchant or cart ID from session) | Your product new has a parameter in it that it shouldn't
Controllers |
Controller-filter to require login by default | no, but is being used as a filter
Helper methods or filters to find logged-in user, cart, product, etc | yes
No excessive business logic | no
Business logic that ought to live in the model |
Add / remove / update product on order | no
Checkout -> decrease inventory | no
Merchant's total revenue | no
Find all orders for this merchant (instance method on Merchant) | no
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 | Not in Model
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 | missing
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) | 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 | Missing some

Overall Feedback

This project seems like it had a rougher process than was communicated to me in our stand ups. There are a lot of features that are fragile, broken or missing in the final product, which leaves me unable to tell if you as a group met the learning goals. In particular, I saw a lot of problems as I tried to add new products as a merchant, add them to my cart and check them out.

I see that you put in a lot of effort on making a site that was visually appealing, and on that front you all were largely successful.

bEtsy is a huge project on a very short timeline. Managing the size and the scope of the work is paramount in a large, multi-dev team, and it seems to me that this group could take a step back to analyze where and how things went wrong. When you find yourself in a situation where the amount of work to do is getting away from you, the best thing to do is reach out to project manager and get help prioritizing things.

Next week is JavaScript, which is an opportunity to take a fresh start. Rest and reflect over this weekend, and start with your best foot forward next week.

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