Skip to content

Earth/Fire: Tripsy (Ayesha, Jasmine, Denise & Jing) Project Submission#79

Open
ayaseef wants to merge 507 commits intoAda-C14:masterfrom
ayaseef:master
Open

Earth/Fire: Tripsy (Ayesha, Jasmine, Denise & Jing) Project Submission#79
ayaseef wants to merge 507 commits intoAda-C14:masterfrom
ayaseef:master

Conversation

@ayaseef
Copy link

@ayaseef ayaseef commented Nov 25, 2020

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? Ayesha: I am most proud of ratings and reviews functionality. I drove MVC for the reviews functionality and styling them as well. I am very proud to have them viewed as esthetically pleasing as well as functioning properly. Denise: I was responsible for several actions/ functionalities within products and order items controllers, and one thing I am proud of is the increase/decrease functionality of the order_items quantity. Jasmine: I was responsible for the layout of product show pages, I think they turned out all right! It was a combination of making sure appropriate custom methods were working as expected (for exploring page) and playing around with bootstrap. Jing: Proud of having checkout function work.
Each team member: what is one thing you were primarily responsible for that you would like targeted feedback on? Ayesha: I’d like to get feedback specifically on the tests, as well as styling. I feel I can improve drastically on both, in fact, all the areas. most importantly the MVC structure. Denise: I’d like to get feedback on tests in general, wondering where we can improve and what we did well. Jasmine: I’d like to get feedback on tests in general, wondering where we can improve and what we did well. Jing: Feedback of test
How did your team break up the work to be done? Our team translated the Betsy project requirements from the readme file and projected them with specific priorities to our Trello board. This helped us breakdown the LARGE scope of the project into smaller tasks that each of us could take upon using the best of our strengths. We created tasks splitting them among each functionality's Model/ Views/ Controllers/ Tests, and each team member volunteered for each task.
How did your team utilize git to collaborate? We utilized branches and used pull requests as a way to review code and deal with conflicts more easily.
What did your group do to try to keep your code DRY while many people collaborated on it? Through constant reviews and collaborative discussions on how code could be DRYer
What was a technical challenge that you faced as a group? 1. Zoom - We primarily collaborated on zoom and it would kick us out every 40 mins. It was frustrating to start a meeting every 40 min for continuity purposes. 2. Tests - We all faced challenges writing/ passing tests for the majority of the web app. We feel that a lesson or two more in depth about testing rails apps would have been more helpful, 3. Heroku app - There were challenges in the deployment of the app given the amount of time our team dedicated to the functionality of the app to work through and through, and for the tests to pass.
What was a team/personal challenge that you faced as a group? Contribution assurance - as a team was a challenge. Especially when we are working all virtual. Ensuring that we all were comfortably utilizing our strengths and are positively challenged.
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/1ykD6Xx1MlaUK08D1NTkT0JO4CD3Bw235/view?usp=sharing
What is your Trello URL? https://trello.com/b/TW2DT9vu/betsy
What is the Heroku URL of your deployed application? We did not deploy our app to Heroku. We will revisit this at a later time.

Jing-321 and others added 30 commits November 21, 2020 15:50
fix user_account page no address bug
Added Reviews model test and updated routes
fix user_account no address bug
Merge branch 'master' of https://github.com/ayaseef/betsy into ayesha
Jing-321 and others added 29 commits November 25, 2020 09:36
fixed one review controller test
added tests for payment_infos controller
@dHelmgren
Copy link

bEtsy

Functional Requirements: Manual Testing

Workflow yes / no
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 ✔️

Major Learning Goals/Code Review

Criteria yes / no
90% reported coverage for all controller and model classes using SimpleCov Predominantly missing tests for order_items_controller.rb and orders_controller.rb
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 is applied to all merchant-specific actions (update/add item, add category, view merchant dashboard, etc.) - filter method is not duplicated across multiple files ✔️
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
couldn't find one for "Can't add a retired product", not tests on 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
can't find tests for these.
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
✔️

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 made the site clean, usable and friendly, and how you were meticulous with the care that you gave to organizing code, especially your filters and routes.

I do see some room for improvement around controlling and testing in the right places! You have a lot of tests that check what a route can do in terms of adding or removing from a cart, but those constraints are better controlled (and tested) in the model.

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!

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