- ContextMapper : 4 questions contexte → méthode de décision optimale (advice process Laloux, vote inertiel WoT, consentement sociocratique, Smith…) - SocioElection : guide élection sociocratique 6 étapes + advice process + clarté de rôle - WorkflowMilestones : 11 jalons de protocole (7 essentiels), durées recommandées, principes Ostrom - WorkspaceSelector : sélecteur de collectif multi-site dans le header - SectionLayout : toolbox en USlideover droit sur mobile, sidebar sticky desktop - Décisions : ContextMapper intégré + guide consentement - Mandats : SocioElection intégré + cycle de mandat - Documents : guide inertie 4 niveaux + structure + IPFS - Protocoles : WorkflowMilestones + protocole élection sociocratique ajouté - Renommage projet Glibredecision → libreDecision (dossier + sources) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
942 B
Markdown
26 lines
942 B
Markdown
# libreDecision
|
|
|
|
Plateforme de decisions collectives pour la communaute Duniter/G1.
|
|
|
|
## Stack
|
|
- **Frontend**: Nuxt 4 + Nuxt UI v3 + Pinia + UnoCSS (port 3002)
|
|
- **Backend**: Python FastAPI + SQLAlchemy async + PostgreSQL asyncpg (port 8002)
|
|
- **Auth**: Duniter V2 Ed25519 challenge-response
|
|
- **Sanctuaire**: IPFS (kubo) + hash on-chain (system.remark)
|
|
|
|
## Commands
|
|
- Backend: `cd backend && uvicorn app.main:app --port 8002 --reload`
|
|
- Backend tests: `cd backend && pytest tests/ -v`
|
|
- Frontend: `cd frontend && npm run dev`
|
|
- Frontend build: `cd frontend && npm run build`
|
|
- Migrations: `cd backend && alembic upgrade head`
|
|
- Docker: `docker compose -f docker/docker-compose.yml up`
|
|
|
|
## Conventions
|
|
- French for UI text and documentation
|
|
- English for code (variable names, comments, docstrings)
|
|
- API versioned under `/api/v1/`
|
|
- Pydantic v2 for all schemas
|
|
- Async everywhere (SQLAlchemy, FastAPI)
|
|
- Ed25519 signatures for vote integrity
|