Create a Rails application which presents a novel (unique, new) API to the world. This API must consume at least two other, publicly available APIs.
After completing this assignment, you should...
- Understand the variety of public APIs available to developers
- Be able to read and utilize API documentation for publicly available data sets
- Be able to merge data from multiple points of origin
- Be able to create a public-facing API
- Be able to create your own API documentation
- A Github Organization. Create an organization in github to represent your team for this project. Give all team members full rights.
- A Repository. Create a repository in your github organization.
- A Heroku App. Your application should be deployed and running on Heroku.
- A Test Suite. Your application should be developed using test driven development. It is up to you whether you use ping-pong pairing.
- A README. Your README should describe the API and provide instructions for others on how to use it.
For this project, you have complete autonomy on the data that your application displays, the sources of that data, and the behavior that your application has. The conditions for this assignment are:
- You must consume at least two publicly available APIs on two different data sets (e.g. two API requests from the Github API are not sufficient). A few links to public data set directories are given below.
- You must merge this data in some meaningful and interesting way.
- You must display this merged data in a JSON API of your own making. The api must be accessible under
/api/v1/
. - You must write clear API documentation in your README.
- Your application must be deployed and working on Heroku.
Authentication is optional.
(I say "complete autonomy," but, of course, nothing illegal, pornographic, offensive, or involving cats and/or the instructor's face.)
Cache your data in a database to (a) speed up future queries and (b) reduce the number of requests you make of the existing public APIs.