πŸ…

3 - Setup one-click local development setup

Learning Outcomes

  • Learn about docker-compose.
  • Learn about GNU make & Makefiles.

Problem Statement

We want to simplify the process of setting up API on the local machine for development. The idea is to enable other team members to run the API and its dependent services with the least amount of steps involved in getting this up and running.
We won’t be assuming that other team members have the required tools already installed on their local. So we will be going one step further and providing them with simple bash functions to install the required tools.

Expectations

The following expectations should be met to complete this milestone.
  • API and its dependent services should be run using docker-compose.
  • Makefile should have the following targets.
    • To start DB container.
    • To run DB DML migrations.
    • To build REST API docker image.
    • To run REST API docker container.
  • README.md file should be updated with instructions
    • To add pre-requisites for any existing tools that must already be installed (e.g., docker, make, etc
    • To run different make targets and the order of execution.
  • When we run the make target to start the REST API docker container,
    • It should first start the DB and run DB DML migrations.
    • (Good to have) You can even include checks to see if the DB is already running and DB migrations are already applied.
    • Later it should invoke the docker compose command to start the API docker container.

Further Reading