Skip to content

Conversation

@sahanamurthy
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? I searched the Edamam website for API documentation and was able to learn about it's specifics through there. I queried the API in Postman first, to see what worked and what didn't, before I integrated it into my app.
Describe your API Wrapper. How did you decide on the methods you created? The API wrapper essentially has two functions in it. One is a 'find all' method that will return all recipes within certain query parameters. The other is 'find specific' that will return only one specific recipe.
Describe an edge case or failure case test you wrote for your API Wrapper.
Explain how VCR aids in testing an API. VCRs allow you to make an API request only once, and then store that data for testing purposes, so that you don't make multiple requests.
What is the Heroku URL of your deployed application? https://ahimsa-sahana.herokuapp.com/
Do you have any recommendations on how we could improve this project for the next cohort?

@droberts-sea
Copy link

API Muncher

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene yes
Comprehension questions yes
General
Rails fundamentals (RESTful routing, use of named paths) yes
Semantic HTML yes
Errors are reported to the user no - This should be one of the first things you do when you set up a new project (for example by adding code to display flash messages to application.html.erb). It will save you a lot of trouble in the long run.
API Wrapper to handle the API requests yes - see inline comment
Controller testing completely missing - see below
Styling
Foundation Styling for responsive layout yes - good work
Search View yes
List View yes
Show View which opens in a new tab yes
API Features
The App attributes Edaman yes
The VCR casettes do not contain the API key N/A
Overall

Your lack of test coverage is increasingly concerning to me. I know that's something we discussed on MediaRanker, and reviewing your team's bEtsy repository I only see one test file where you made any commits at all. All of that combined with the fact that you haven't written a single test for this project indicates the importance of testing hasn't sunk in.

Testing is an absolutely essential part of programming. It allows you to catch problems early, and many studies have shown that strong test-driven development reduces both time to market and the number and severity of bugs that make it to customers. Moreover, because writing tests forces you to think through all the possible states and interactions of your code, it is a strong learning tool and an important part of the way we teach software at Ada. It would definitely be worthwhile for you to spend some time with a tutor to reinforce this skill - let's talk about this in person next week.

Other than that, this project looks really good - you've hit all the functionality and crafted a solid, easy to use UI. Good work!


url = "#{RECIPE_URI}#{param}"
recipe = HTTParty.get(url, query: query_params)
return recipe

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's interesting to me that above you return ApiRecipe objects, but here you return the results directly. Seems to me you could add a little bit of functionality to ApiRecipe and be able to reuse it nicely.

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