api for the win
context
In the 1990s, the traditional method of designing web sites focused largely on designing individual static pages that users could request by selecting links. In the past decade, the focus has shifted to the design of web applications (apps), which engage and involve users through dynamic, interactive content. Web apps typically rely, at least in part, on external web services to serve content that can be integrated into the app. Web services provide standard methods for sending and receiving data over a network (e.g., from a server to
a client). Web developers can request content from web services through software interfaces called application programming interfaces (API). Many popular services provide APIs, including Twitter, Google Maps, Facebook, YouTube, Flickr, LinkedIn, PayPal, Yelp, Reddit, and many others.
goal
Your task is to integrate a web service into an existing, functional prototype using a service’s public API. The exercise involves creating at least one interactive web page (HTML) that is appropriately styled with some sort of input and output that utilizes the functionality of an API to enhance the functionality and user experience of the page (JS).
api selection
The API that I choose was spoonacular API. They are a verse dense and diverse food related API. According to their website, their “knowledge engineers spent years crafting their complex food ontology, which allowed them to understand the relationships between ingredients, recipes, nutrition, allergens, and more.”
The reason I chose this API was because I originally wanted to do something with food. After doing some research into food APIs, spoonacular API was one of the more widely accepted and well documented APIs on food. From exploring their API, I saw that they had an endpoint for different wine related calls. I have some interest in knowing how to choose the right wine for certain foods and knowing what wines are good. This interest led me into pursuing creating an experience around this.
user group
The intended user group for my web page are people that are interested in anything wine related. A user would come to this page to learn more about getting dish pairings for their wine, getting wine pairings for their dish, learning more about a specific wine, and simply getting a new wine recommendation.
api implementation
reflection
Initially, this exercise kind of had me worried. I have an interest and some knowledge in development, but I had never done anything with APIs. When it comes to learning a new skill in development, it can take me awhile to actually get a full understanding of it which is why I was worried at the beginning. The video that Prof. Gray posted was very helpful. After watching that video, I was actually able to get the beginnings of my code to work. Something that I realized from this exercise was how important the documentation of the API is when it comes to learning how to utilize it. The API that I ended up choosing was not the one that I initially started off with. The API that I started off with was one on a random taco recipe generator. It was a really interesting and fun API that an individual had created, but it was really poorly documented. I tried to understand how to use the API and what parameters it used, but there was not enough information for me to build the experience that I wanted. This caused me to move away from this API and pursue the one I ended up using: spoonacular API. This API was one with lots of information on food which is what I wanted to focus on. In this API, I found ways to request information involving wine. I have some interest in knowing how to choose the right wine for certain foods and knowing what wines are good. This interest led me into pursuing creating an experience around this. Something that I was challenged with throughout the process of using my API was creating a more interactive experience. Although I had different response outputs depending on what the user wanted to know more about, I felt as if there was still something missing.
I was also able to venture into learning how to host my site on the web for free using a service called surge.