FastAPI and MySQL multi-container app

Job ID: 34338444

Budget: €30 – €250 EUR

Develop a project that consists of a Docker multi-container app
- one container with a Python API (using FastAPI). Python version 3.10.
- one container with a MySQL database. MySQL version 8.0.

The containers must use the official images.

The API must do the basic CRUD operations. Testing is mandatory.

The API data is grabbed/stored in the external database running in the separate container.

Use Docker Compose to spin that up with a single command, as well as tear it down.

Save the project commands in a justfile (including docker-compose, testing, etc).

---

Here's the data model,

**Categories**
. `category_id`
. `name` varchar(255)
. `created_at` datetime
. `updated_at` datetime

**Authors**
. `author_id`
. `name` varchar(255)
. `created_at` datetime
. `updated_at` datetime

**Books**
. `book_id`
. FK `author_id`
. FK `category_id`
. `title` varchar(255)
. `price` integer
. `created_at` datetime
. `updated_at` datetime
Related categories: Python MySQL Docker FastAPI REST API