A full-stack trading analytics platform featuring a FastAPI backend and a Next.js frontend, packaged for fast onboarding with devcontainers, Docker Compose, and pre-commit automation.
- Clone & configure
cp .env.example .env
- Launch services
This boots Postgres (port 5432) and Redis (port 6379) with health checks enabled.
docker compose up -d
- (Optional) Use the Dev Container
- Open the repository in VS Code
- Run the
Dev Containers: Reopen in Containercommand for a fully provisioned Python 3.11 / Node 20 environment
cd server
poetry install
poetry run alembic upgrade head
make run # starts uvicorn on http://localhost:8000- Health check lives at
GET /healthand returns{"status": "ok"}. - Re-run database migrations with
poetry run alembic upgrade head. - Execute tests and tooling:
make test make typecheck make lint
cd web
pnpm install
pnpm dev # runs on http://localhost:3000The frontend consumes the backend via NEXT_PUBLIC_API_BASE_URL set in .env.
- Pre-commit hooks format and lint Python + TypeScript; install them with:
pre-commit install
- Docker Compose keeps Postgres and Redis data in named volumes (
db-data,redis-data). - The repository ships with
.editorconfigand shared configs for consistent formatting.
- To verify containers:
docker compose psand check forhealthystatus. - If ports are already in use, stop existing local Postgres/Redis instances or adjust
docker-compose.yml.