2.0 KiB
2.0 KiB
Music Hub
Webapp für Label-Kollaboration. Stack: SvelteKit + Hono + Postgres.
Aktueller Stand
Sprint / Phase: Full PWA — Phase 1 deployed, Phase 2+3 ausstehend
Zuletzt implementiert:
- PWA Phase 1: Offline-Audio-Download + Playback (commit
e58a7c2)- API:
GET /versions/:id/audio?quality=stream|original+GET /versions/:id/waveform-data(Server-Proxy) - SW: cache-first aus
musichub-offline-v1für Proxy-Routen; Cache überlebt SW-Updates - IDB-Store (
idblib), Svelte 5 Runes Store mit Progress-Tracking - Track-Seite: Offline-Button mit Stream/Original-Picker, Cloud-Check wenn gecacht
/offline-Seite mit Speicheranzeige + Entfernen- Manifest:
shortcutsfür Dashboard + Offline-Tracks
- API:
- Security-Hardening (8 Issues), STEM Multi-Select Fix, S3-CORS gesetzt (frühere Session)
Als nächstes:
- Phase 1 verifizieren: SW unregistrieren, Track offline cachen, Flugmodus testen
- Phase 2: Push Notifications (
push_subscriptions-Tabelle,web-push, VAPID-Keys) - Phase 3: Background Sync für Uploads (IDB-Queue, SW sync-Handler)
Offene Punkte:
- RESEND_API_KEY noch nicht gesetzt (echter E-Mail-Versand)
- DB
is_publicnach STEM-Tests wieder deaktivieren
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.