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>
30 lines
639 B
Makefile
30 lines
639 B
Makefile
.PHONY: install dev dev-backend dev-frontend test seed docker-up docker-down
|
|
|
|
# ── Development ──
|
|
|
|
install:
|
|
cd backend && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt
|
|
cd frontend && npm install
|
|
|
|
dev: dev-backend dev-frontend
|
|
|
|
dev-backend:
|
|
cd backend && . venv/bin/activate && uvicorn app.main:app --reload --port 8000
|
|
|
|
dev-frontend:
|
|
cd frontend && npm run dev
|
|
|
|
test:
|
|
cd backend && . venv/bin/activate && python -m pytest tests/ -v
|
|
|
|
seed:
|
|
cd backend && . venv/bin/activate && python seed.py
|
|
|
|
# ── Docker ──
|
|
|
|
docker-up:
|
|
docker compose up --build -d
|
|
|
|
docker-down:
|
|
docker compose down
|