Full-stack app for participatory water pricing using Bezier curves. - Backend: FastAPI + SQLAlchemy + SQLite with JWT auth - Frontend: Nuxt 4 + TypeScript with interactive SVG editor - Math engine: cubic Bezier tarification with Cardano solver - Admin: commune management, household import, vote monitoring, CMS - Citizen: interactive curve editor, vote submission - Docker-compose deployment ready Includes fixes for: - Impact table snake_case/camelCase property mismatch - CMS content backend API + frontend editor (was stub) - Admin route protection middleware - Public content display on commune page - Vote confirmation page link fix Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
510 B
YAML
25 lines
510 B
YAML
services:
|
|
backend:
|
|
build: ./backend
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
- DATABASE_URL=sqlite+aiosqlite:///./sejeteralo.db
|
|
- SECRET_KEY=${SECRET_KEY:-change-me-in-production}
|
|
- DEBUG=false
|
|
- CORS_ORIGINS=["http://localhost:3000"]
|
|
volumes:
|
|
- backend-data:/app
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NUXT_PUBLIC_API_BASE=http://localhost:8000/api/v1
|
|
depends_on:
|
|
- backend
|
|
|
|
volumes:
|
|
backend-data:
|