Skip to main content

Roadmap LDP

Última actualització: 2026-04-25 Documenta on som, on anem i en quin ordre. Per a tasques concretes, veure Backlog. Per a idees aparcades, veure Ideas.


Visió i nord

LDP és la plataforma de referència del món del ball: catàleg comú (balls, cançons, coreògrafs), esdeveniments (ballades, festivals, workshops, classes) i comunitat.

Regla de producte no negociable:

Mobile = consumir (l'app és el producte). Web = gestionar (admin, owners, professors, coreògrafs).


Estat global

FaseDescripcióEstat
1API base i entitats principals✅ Complet
2Frontend bàsic (UI admin)✅ Complet
3Auth JWT + rols + legal compliance Fase 1✅ Complet
4ACRUD manual ric (events, identity, governance)🟡 En curs (avançat)
4B-4EImport + enriquiment (CSV, staging, AI, scraping)🟡 Parcial
5App mòbil (Android)⏳ Pendent
6Multi-estil + Classes + Rankings⏳ Pendent

Capes arquitectòniques i estat

LDP es construeix en 5 capes apilables. Cada capa està en un estat diferent:

Capa 1 — Identitat (qui és qui)

PeçaEstat
User + auth JWT + verificació email
Person + PersonRole (multi-rol)
Choreographer + claim flow (existent)
Email verification + password reset
Organization (associació, club, escola, federació)📝 Disseny aprovat — implementació pendent

Capa 2 — Governance (qui pot fer què)

PeçaEstat
Listing status INFORMATIVE → CLAIMED per Choreographer
OwnershipRequest claims de coreògraf✅ Backend, falta UI admin
Listing status unificat per Venue⏳ Pendent (Fase 1B)
Claims Module unificat (Choreographer + Venue + Org + Role)⏳ Pendent (Fase 1B)
Trust Levels d'event derivats⏳ Pendent (depèn Claims)
Carrils de creació d'events (4 carrils)2 implementats, 2 pendents
Content Report flow📝 Disseny obert

Capa 3 — Contingut (catàleg + activitats)

PeçaEstat
Catàleg Dance / Song / Choreographer / Link
Music Providers (Spotify/iTunes/Deezer) + auto-link
ACRCloud identification✅ Backend, falta validació real
YouTube import individual (Gemini AI)
Event model atòmic + Festivals parent-child
Event People multi-rol (V84/V85)
Event organizer display + banner verificat
Refactor EventType (9→5) + sistema de Tags⏳ Pla redactat, execució pendent
Courses (Classes regulars)📝 Disseny aprovat — implementació pendent
Setlist publicat + balls realment ballats⏳ Pendent

Capa 4 — Moderació i propostes

PeçaEstat
Admin Console centralitzat (Fases 1+3)✅ Implementat (commit 51661ff)
Dance Suggestions des de cerca de cançó✅ Implementat
AdminPendingSummary + badge numèric✅ Implementat
Song Suggestions (Cercle 4)⏳ Branca feature/song-suggestions
Content Report📝 Disseny obert

Capa 5 — Import / ETL

PeçaEstat
YouTube individual + Gemini AI
YouTube bulk Streamlit (fases 1-3)
YouTube bulk fases 4-6 (Master songs, dedup, export)⏳ Pendent
linedance.cat crawler POC✅, pipeline pendent
ACRCloud recovery (934 balls sense cançó)⏳ Pendent
Bulk enrichment 3000+ cançons🟡 Implementat però UNTESTED

Sprint actual — Events

Pla detallat: .claude/plans/cryptic-enchanting-dove.md (intern)

✅ Fet en aquest sprint

  • Event People multi-rol (V84/V85)
  • Event import millores + filtres locations
  • Admin Console + Dance Suggestions (V86/V87)

📝 Disseny consolidat (no codi encara)

  • Memo Organizations: memory/project_organizations.md + doc públic
  • Memo Courses: memory/project_courses.md + doc públic
  • Pla refactor types+tags: .claude/plans/event-types-and-tags-refactor.md
  • Doc Events: reglament Events (post-refactor)
  • Doc Venues & Locations: reglament
  • Principi finançament transparent: memory/project_roadmap_transparency.md

⏳ Pendent dins del sprint

  • Fase B: execució del refactor types+tags (V88 + V89, backend + frontend)
  • Fase C: gaps Events
    • Overlap de persones (teacher/DJ a 2 events solapats)
    • GDPR creator display al DataErasureService
    • Lifecycle CANCELLED / POSTPONED / ARCHIVED

Properes 3 fites (per ordre)

Fita 1 — Tancar sprint Events ⭐ ACTUAL

  • Executar Fase B (types+tags refactor)
  • Executar Fase C (gaps Events)
  • Documentar resultats als memos

Fita 2 — Sprint Governance

  • Claims Module unificat (Choreographer + Venue + Organization + Role)
  • Trust Levels derivats
  • Activar carril 3 (events a Location standalone)
  • Implementació Organizations (model base + CRUD)

Fita 3 — Sprint UX llançament

  • Design System v2 (logo, paleta, tipografia, breakpoints definitius)
  • Benchmarking referents (CopperKnob, Spotify, Eventbrite, Linear, Strava)
  • Normalització mobile-first per rol
  • Roadmap transparency a UI ("properament" consistent)

Què ve després (vista llarga)

Mig termini

  • Espai personal de l'usuari (llistes balls, favorits, estadístiques) — Fase 4 valor diferencial
  • Events avançats (mapa interactiu, calendari, setlist publicat, "Remember")
  • Implementació Courses (Fase 4 — depèn de Capa 2 governance complet)
  • Cercador global unificat (amb cerca per veu via ACRCloud)
  • Dedup balls + cançons (qualitat de catàleg)
  • YouTube bulk fases 4-6 (master songs, dedup global, export)

Llarg termini

  • App Android (MVVM + Jetpack Compose) — el producte real
  • Infraestructura producció (Hetzner / Azure / Vercel+Fly.io — decisió pendent)
  • CI/CD pipelines
  • Sistema d'avatars (S3 + CloudFront + Rekognition)
  • Rankings i Analytics (depèn de setlists amb dades)
  • Notícies, articles, marketplace
  • Monetització MVP (Stripe, tiers, promoció)
  • Social/comunitat (perfils públics, follow, comentaris)
  • Notificacions (push + email + in-app)
  • Internacionalització (CA → ES/EN/FR)
  • Multi-estil (taxonomia Style/Substyle, més enllà del line dance)

Idees parking lot

  • Mode "playlist" / social night planner
  • Mode DJ/ballada (peticions/votacions de balls per assistents)
  • IA creativa: generar cartells d'events per xarxes socials
  • Onboarding mòbil (selecció estils, nivell, ubicació)
  • Integració calendaris (iCal, Google Calendar)
  • Jobs programats (health checks, enllaços trencats)
  • Perfil públic verificat per coreògrafs (badge, links oficials)

Veure Ideas per al detall.


Què no és part del pla

Per evitar dispersió:

  • No fem Tests pre-existents trencats abans del seu sprint dedicat (no bloqueja la branca actual, sí bloqueja el merge a main)
  • No anticipem optimitzacions abans de tenir dades reals (perfils públics, índexs avançats)
  • No anem cap a Mobile abans que l'API estigui estable amb endpoints agregats per pantalla

Sobre el finançament

LDP és un projecte personal mantingut per una sola persona, no un servei finançat. El roadmap es desplega segons disponibilitat de temps.

Eventualment necessitarà alguna forma de finançament (subscripcions professionals, donacions, sponsorship) per:

  • Hosting i infraestructura escalable
  • Pagaments integrats (Stripe per Courses)
  • Notificacions push automatitzades
  • Certificats de finalització
  • Manteniment continuat

El missatge a l'usuari serà transparent i convidant, no de queixa. Veure el principi a memory/project_roadmap_transparency.md.


Documents relacionats

Domini funcional (què fa el producte)

Operatiu

  • Backlog — tasques concretes
  • Ideas — propostes pendents

Tècnic

Vista de producte