A labeling platform with:
- Frontend: Next.js (TypeScript, Konva, OpenCV.js)
- Backend: FastAPI (Python 3.11)
- Database: PostgreSQL 16
-
Start the database:
docker compose up -d db
-
Apply the schema:
docker compose exec -T db psql -U labeler -d labeler -f /dev/stdin < backend/db/schema.sql
-
Start API + Web:
docker compose up -d api web
-
Open in browser:
- API: http://localhost:8000/api/health
- Frontend: http://localhost:3000
- Labeling page: http://localhost:3000/labeling
-
Rebuild:
docker compose up -d --build api web
-
Reset DB:
docker compose down -v docker compose up -d db docker compose exec -T db psql -U labeler -d labeler -f /dev/stdin < backend/db/schema.sql