A sample monorepo todo list application demonstrating modern full-stack development practices and developer tooling for CodeRabbit AI code review.
Backend:
- Python 3.11+
- FastAPI
- SQLAlchemy (async)
- SQLite
- Pydantic v2
Frontend:
- React 18+
- TypeScript
- Vite
- CSS Modules
Infrastructure:
- Docker
- Docker Compose
- nginx
- Docker
- Docker Compose
Start all services:
make upOr using Docker Compose directly:
docker compose up --build- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
todo-app/
├── backend/ # FastAPI backend with async SQLAlchemy
├── frontend/ # React TypeScript frontend with Vite
├── docs/ # Getting started, API reference, configuration, deployment
├── website/ # Static landing page
├── docker-compose.yml # Service orchestration
├── Makefile # Convenience commands
└── README.md # This file
docs/contains the getting started guide, API reference, configuration options and deployment notes.website/is a static landing page. Openwebsite/index.htmlin a browser or serve the folder with any static file server.
Run backend tests with pytest:
make test-backendRun TypeScript type checking and the Vitest unit tests:
make test-frontendRun both backend tests and frontend checks (type check and unit tests):
make testServices can be run individually if needed:
- Backend: Runs on port 8000
- Frontend: Runs on port 3000
For local development without Docker, refer to the README files in the backend/ and frontend/ directories.
Stop all running services:
make downRemove all Docker volumes, containers, and build artifacts:
make clean