Explore Formula 1 race data through interactive charts and visualisations.
Infra
- Docker
- Python 3.12+
- Node.js 22+
Backend
- FastAPI
- Strawberry GraphQL
- SQLAlchemy 2.0
- OpenF1 API proxy with Redis caching and rate limiting
- PostgreSQL with F1DB, containerised with Docker
Frontend
- Next.js (App Router)
- D3.js
- Tailwind CSS
cp .env.example .env
docker compose up -d
npm cicd api
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reloadnpx nx dev webDownload the latest PostgreSQL export from the F1DB releases page, then restore it:
cat f1db-sql-postgresql.sql | docker exec -i <postgres-container> psql -U f1 f1db