Assignment 6: Full System Deployment with Docker Compose

Description

Deploy a multi-service system locally using Docker and Docker Compose.


Instructions

In this assignment, you will design, containerize, and run a complete microservice-based system locally using Docker and Docker Compose. You are expected to create the code and configuration yourself, starting from an empty solution.

· Requirements:

✅ Create three services: API Gateway, Data Service, AI Service

✅ Each service must expose a simple HTTP endpoint (for example: /api/health)

✅ Each service must have its own Dockerfile

✅ Services must communicate over an internal Docker network

✅ All services must be started using docker compose

· What to implement:

▶️ API Gateway that receives requests and calls the other services

▶️ Data Service that responds with a simple text or status

▶️ AI Service that responds with a simple text or status

· What to submit:

▶️ Source code of all services

▶️ Dockerfiles and docker-compose.yml

▶️ Screenshots showing all containers running

▶️ Screenshot of successful HTTP responses via the Gateway

· Notes:

✅ Focus on deployment and service communication, not business logic.

✅ Minimal implementation is sufficient.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Verification (self-check)

✅ Create three services: API Gateway, Data Service, and AI Service.

▶️ Dockerize each service using a Dockerfile.

▶️ Run all services together using Docker Compose.

▶️ Upload screenshots proving that all services are running and responding via the Gateway.