Exercise Monday

Goal: Practice using all of the build tools that we have learned so far to create an app centered around your choice of public JSON APIs which support CORS. As always, make sure you test API calls with Postman first.

This is a multi-day project, so you'll have time to do the following:

  • Experiment with different tools for working with asynchrony, including callbacks, promises, the Fetch API, and async functions
  • Make multiple API calls in the application
  • Separate out logic clearly, including keeping business logic separate from service and UI logic if necessary
  • Write a great README with thorough setup instructions
  • Experiment with chaining promises

Warm Up


  • How does the Fetch API work? What does it return?
  • How do async functions work? What does the await keyword do?
  • Are there any potential disadvantages to using async functions?
  • What is CORS? Why is it important for making API calls in our projects?

Code


Bike Index API

Build an app using the Bike Index API. Your app could list all the bikes that have been registered as stolen in a given location in the past week. Or it could display statistics - for instance, you could see which manufacturer is most frequently stolen in a given area.

Martian News Service

The Nasa APIs page has many different APIs, each with interesting data points. You could build an application around anything from the astronomy picture of the day to the Exoplanet Archive to the weather on Mars or even photos from the Mars Rover.

Here's one idea: build an application for Martians which includes Martian weather, the astronomy picture of the day, and views from the Mars Rover.

To find out more information about each endpoint on the Nasa API, click Browse APIs and then click the + sign by the API you're interested in checking out.

Pick Your Own API

If you decide to use an API that isn't listed here, make sure to do some research and confirm that it supports CORS and that it returns JSON (unless you want to experiment with a format like XML). It is recommended to pick one project to focus on for both days so that you can have an opportunity to really build out your project.

If you wish to research more APIs, this is a very useful page. This comprehensive list of public APIs is also organized by type of data and authentication required.

Peer Code Review


  • Does the application make at least one API call and work as expected?
  • Is application logic fully separated into user interface, service logic, and if necessary, business logic?
  • Does the application include a fully function development environment, including a .env file to hide API keys?
  • Does the application include a README with all setup instructions?

Lesson 4 of 6
Last updated more than 3 months ago.