Skip to content

Latest commit

History

History
54 lines (36 loc) 路 2.77 KB

custom-api-requirements.md

File metadata and controls

54 lines (36 loc) 路 2.77 KB

Custom Authenticated API Project

It's time to get creative and write the authenticated API of your dreams!

Objectives

  1. Practice the SDLC by completing a project from proposal to deployment with a focus on Test Driven Development practices.
  2. Utilize all the techniques learned in class in a single cohesive project.
  3. Produce a portfolio-worthy authenticated API to show off to the world!

Requirements

Functional Requirements

  1. At least one nested route or resource.
  2. The ability to CREATE, READ, UPDATE, and DELETE the object(s) in your API.
  3. At least one of each endpoint: GET, POST, PUT, and DELETE.
  4. A database persistence layer (e.g. MongoDB)
  5. Project contains documentation explaining how to use your API.
  6. Project contains a simple, static single page brochure site that explains what the API does and a link to the API's documentation.

Non-Functional Requirements

  1. The API must be written using the appropriate application of RESTful techniques.
  2. The API implementation must follow the MVC pattern.
  3. The API must be hosted in a public GitHub repository.
  4. The project repository should not expose any secrets!
  5. The API must have a discernible theme or serve a distinct purpose. See the Examples for well-themed and purposed APIs.
  6. The final project must be deployed and fully accessible via the internet and callable via any consumer.
  7. The final project must be fully documented.

Level Up - API + Skills (Optional)

NOTE: ++ indicates the ability to level up the preceding skill through the following stretch challenges:

  1. Code++: Love integrations? Find a clever way to utilize a third-party API within your API!
  2. DevOps++: Deploy API and brochure site over HTTPS.
  3. Networking++: Write and post a short blog on Medium, Hacker News, or dev.to debuting and promoting your life-changing new API! Sign up now!

Example APIs

  • List of Public APIs - Giant list of public APIs to inspire you!
  • The Rick and Morty API - Excellent single page brochure site with easy to find About and Documentation links. Very clear documentation.
  • Adorable Avatars - Beautiful brochure site, easy to use and direct API. Great docs and FAQ!
  • JSONPlaceholder - Clean and minimalist one page site and documentation for a very simple API. Love the 'Try It!' buttons!

Heroku Deployment

  • Make sure the Access-Control-Allow-Origin header is set to * so that requests to your API can be made from any domain!

Additional Resources