Problem
The project has no containerization. Deployment relies on run_api.sh and manual setup. There is no way to spin up the full stack (backend + frontend + database) with a single command.
Proposed solution
Add Dockerfiles and Docker Compose:
├── backend/Dockerfile # Python + Uvicorn
├── frontend/Dockerfile # Nginx serving React build
├── docker-compose.yml # backend + frontend + PostgreSQL
├── .dockerignore
└── docker/nginx/default.conf # Nginx config
Tasks
- [ ] Create backend Dockerfile (multi-stage, dependencies + runtime)
- [ ] Create frontend Dockerfile (build React with Node, serve with Nginx)
- [ ] Create docker-compose.yml (backend, frontend, postgres services)
- [ ] Create .dockerignore
- [ ] Configure env vars for Docker (ports, database URL, etc.)
- [ ] Update CI to include Docker build step
- [ ] Add Makefile or scripts for common Docker commands
- [ ] Document Docker usage in README
Problem
The project has no containerization. Deployment relies on
run_api.shand manual setup. There is no way to spin up the full stack (backend + frontend + database) with a single command.Proposed solution
Add Dockerfiles and Docker Compose:
Tasks