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

Lindsey - Pipes - API Muncher #47

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

Conversation

VirtualLindsey
Copy link

API Muncher

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
How did you go about exploring the Edamam API, how did you try querying the API? reading the documentation and using postman
Describe your API Wrapper. How did you decide on the methods you created? I used one query for queries and one for specific recipients. I did it this way to handle the different kinds of queries.
Describe an edge case or failure case test you wrote for your API Wrapper. missing query params
Explain how VCR aids in testing an API. it allows me to see the return text from httparty calls.
What is the Heroku URL of your deployed application? https://virtuallindsey-muncher-app.herokuapp.com

@PilgrimMemoirs
Copy link

API Muncher

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene Well Done
Comprehension questions Some Improvement - would like to see answers go into more depth - ex: why use VCR? What is the benefit of utilizing this functionality?
General
Rails fundamentals (RESTful routing, use of named paths) Some Improvement - to follow restful conventions, displaying a list of recipes should only have the route of '/recipes' and it should map to the index controller method. For the recipe show url, it does not need 'show' in the url itself.
Semantic HTML Some Improvement - missed opportunities on use of semantic sectioning tags. Open main tag that doesn't close in index. Good idea to have a main tag on each page, wrapped around the main content (In results, that should be around the list of recipes instead of around the 'next' and 'prev' links). Site title should be in a header element, to prevent repeated code, best to define that in application.html.erb.
Errors are reported to the user Some Improvement - Remember to utilize the flash hash to display errors, instead of writing error messages directly in erb files.
API Wrapper to handle the API requests Some Improvement - Good practice to create a class for the resource being used, in this case Recipes.
Controller testing Some Improvement - These tests are appropriate for the way your app is currently setup. However, do you want to return success for all of these conditions? Your controller should be handling different responses to various results from the user input and what's generated from the API call - When that is done, these tests should look differently Does index action need to use a cassette? In this case you're using index for your search page, which does not require a call to the API. Therefore it does not need a cassette. Cassettes are only necessary as you are making calls to the api.
Lib testing Not Complete - no lib tests
Search Functionality Well Done
List Functionality Mostly Good - see note about routes, lists of a resource should be index. There is also repeated code in the results.html.erb, how could that be DRY'd up? Nice use of figure for images!
Show individual item functionality (link to original recipe opens in new tab) Mostly Good - link to recipe should open up into new tab
Styling
Foundation Styling for responsive layout Some Improvement - Show page does not respond to shrinking the width of the viewport.
List View shows 10 items at a time/pagination Well Done
The app is styled to create an attractive user interface Mostly Good - The last recipe of a list goes to the right, I suggest using foundation's block grid to prevent that.
API Features
The App attributes Edaman Well Done
The VCR casettes do not contain the API key Well Done
External Resources
Link to deployed app on Heroku Well Done
Overall
Ares for Improvement Controllers need to developed more to handle undesired results, like something not being found. To do that, utilize flash, status codes and redirects (and then testing them appropriately to check that flash and statues are being set as expected). Routes that follow RESTful conventions. Testing Wrapper code in lib. Responsiveness of views on all pages. Display error messages using Flash hash, don't rely on logic in the view. Clean up code in view files. Create a class for the resources being handled by the api, in this case - recipe.

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.

2 participants