Group Project

For this project you will accomplish the following

  • Build an API of your choosing with yourself and 2-4 other team members
  • Learn how to collaborate to build a single application
  • Show off your skills

The project is split into two parts

  • Part I: Defining your project and building your teams
  • Part II: Implementing your project idea, presenting to the class, and writing about it

Your team of 4-5 people (non-negotiable, no single/dual projects) must complete the following:

  • Think of an API that you would like to build
  • Build the web API that you came up with with the following requirements:
    • Your API must call another external API (e.g. Yelp API , Google Maps Embed API , OpenWeatherMap API )
    • Your API must persist your data in a database (e.g MySQL , MongoDB )
    • Your API and your database must run within its own docker container (don’t worry, we will learn about this)
    • You are welcome to build multiple APIs. Each API must run in its own docker container
  • NOTE: You do NOT have to write a client for your API. Loading Postman to show that it functions is sufficient
  • Demo your web API and present it to the rest of the class
  • Submit a write-up that consists of a description of the web API that was built and how it can be used

Part I

Split into teams of 4-5 and submit a project idea

  • There are NO EXCEPTIONS to this rule. Each team must have at least 4 people. If need be I will form teams.
  • Each team needs to come up with the API that they would like to build. Here are some examples:
    • An API that provides suggestions for dinner when given an address and saves previous searches
    • An API that provides expanded weather information when given a location, providing users the ability to save favorite locations
    • An API that provides the functionality of a chat room, enabling multiple people to talk to each other. Can also handle simple commands such as getting the current weather
  • We will take a look at initial drafts of the web application that you have chosen to build and comment on the feasibility of your project idea and return with comments

Part II

Build your application

  • Each team will have one repository where they will push their changes
  • Please see BCourses under the submission page for this assignment for the url to GitHub classroom to create your team repositiory. Please use your new repository for all work on this project.
  • This could be the first time you were not the only users in your own repository. Beware of merge conflicts and editing the same file with someone else
  • git pull often

Prepare and deliver for your presentation

  • Prep for a 10 minute presentation, and 5 minutes for questions
  • Limit your slides to 5 pages max. Demoing your API is imperative to the presentation

Commit all changes in repo and write a paper on what you did and name it LEARNINGS.md

  • LEARNINGS.md should contain the following:
  • A description of what your project does and the functionality that it provides

Extra Credit

  • Build more than one API and have them interact with each other