Skip to main content

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

DocumentEstat
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)