Domini funcional — el reglament del producte
Aquesta secció documenta com funcionen les peces principals de LDP des del punt de vista de producte, no d'implementació. És el lloc on validem que totes parlem el mateix idioma quan diem "event", "classe" o "organització".
Les decisions tècniques (com es modela a la BD, quins endpoints existeixen) viuen a la secció Architecture. Aquí parlem de funcionalitat i criteris d'ús.
Documents d'aquesta secció
- Events — el reglament d'esdeveniments puntuals (5 tipus + tags)
- Courses (Classes) — classes regulars amb temari i alumnes
- Organizations — entitats acreditables (associacions, clubs, escoles, federacions)
- Venues & Locations — llocs gestionats vs referències geogràfiques + sales i carrils de creació
Principis transversals
Reutilització abans que duplicació
Tot el sistema d'identitat (User, Person, Choreographer), llocs (Venue, Location), tags i moderació es comparteix entre Events, Courses i Organizations. No tornem a inventar el mateix tres vegades.
Tipus curts, tags lliures
Quan apareix una taxonomia (tipus d'event, tipus d'organització, disciplines de course), preferim enums curts i estables que driven el flow + tags lliures per la classificació descriptiva. Veure el pla a .claude/plans/event-types-and-tags-refactor.md.
Visibility per defecte conservadora
Per defecte, una entitat nova entra a un estat informatiu o privat. La promoció a "públic verificat" passa per un flux de claim explícit. Veure ADR sobre el sistema de claims.
Comunicació transparent
Funcionalitats encara no implementades es comuniquen activament a la UI ("properament") en lloc d'amagar-les. La plataforma és un projecte personal — no fingim ser un servei finançat. Quan calgui finançament, es comunica amb to convidant, no de queixa.
Estat dels documents
| Document | Estat |
|---|---|
| Events | ✅ Implementat (model atòmic + festivals + multi-rol) — refactor types+tags pendent |
| Courses | 📝 Disseny aprovat (2026-04-25) — implementació pendent (Fase 4) |
| Organizations | 📝 Disseny aprovat (2026-04-25) — implementació pendent (Fase 1B) |
| Venues & Locations | 🟡 Implementació parcial — cicle de vida unificat + Location.kind pendents (Fase 1B) |