1.9 KiB
1.9 KiB
Music Hub
Webapp für Label-Kollaboration. Stack: SvelteKit + Hono + Postgres.
Aktueller Stand
Sprint / Phase: UX-Qualität — Onboarding + Mobile abgeschlossen, deployed
Zuletzt implementiert:
- PWA Phase 2: Push Notifications (VAPID,
push_subscriptions-Tabelle, SW push-Handler) - Listen Analytics (
listen_events-Tabelle, IP-Hashing, sendBeacon, AnalyticsPanel) - Reject with Feedback (Modal mit Pflichtbegründung → Auto-Kommentar
❌) - SSE Real-time (
EventSource, In-Memory Pub/Sub,version:new/version:status/comment:new) - Onboarding Flow (
OnboardingFlow.svelte): 3-Step Overlay mit Rollen-Picker, Demo/Projekt-Wahl, Invite - Bottom Navigation (
BottomNav.svelte): Nur ≤640px, safe-area-aware, öffnet Sidebar-Drawer - Mobile-Polish: scrollbare Tabs, TopBar-Labels auf ≤480px ausgeblendet
Als nächstes:
- Phase 3: Background Sync für Uploads (IDB-Queue, SW sync-Handler)
- RESEND_API_KEY setzen für echten E-Mail-Versand
- Onboarding-Role für Backend-Personalisierung nutzen (aktuell nur localStorage)
Offene Punkte:
- RESEND_API_KEY fehlt noch (E-Mails nur geloggt)
- DB
is_publicnach STEM-Tests wieder auf privat
Decisions
docs/decisions/ — Architecture Decision Records für nicht-offensichtliche Entscheidungen.
Template: docs/templates/adr.md
Anlegen wenn: Alternative verworfen, Constraint akzeptiert, Richtungsentscheidung getroffen.
Specs
specs/ — ein File pro Sprint oder Feature, bevor Code geschrieben wird.
Template: docs/templates/spec.md
Konvention:
- Neues Sprint/Feature → erst
specs/sprint-N.mdoderspecs/feature-name.mdanlegen - Kanban-Task verlinkt auf die Spec-Datei
- Aktive Spec steht im
## Aktueller Stand
Kanban
Board-ID: cfddb658-6f5b-4d36-b311-369307a5fc51
Konvention: Bei Session-Start get-board-info aufrufen und offene Tasks zeigen. Aktive Tasks nach In Progress ziehen, erledigte nach Done.