- 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>
942 B
942 B
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