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