From df54fde71050074a142cbf45b41f1d235e9fd783 Mon Sep 17 00:00:00 2001 From: Robin Choice Date: Mon, 13 Apr 2026 15:53:54 +0200 Subject: [PATCH] Add README --- README.md | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4c10343 --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# Music Hub + +Versionsverwaltung für Musikproduktionen. Kein Chaos mehr in Dropbox-Ordnern voller `final_v2_WIRKLICH_FINAL.wav`. + +## Was ist das? + +Music Hub ist eine kollaborative Plattform für Produzenten, Engineers und Labels. Tracks haben Versionen, Versionen haben Kommentare, und alle Beteiligten sehen was gerade der aktuelle Stand ist — ohne dass jemand eine WAV-Datei per WhatsApp schickt. + +**Features:** +- Projekte und Tracks mit vollständiger Versionshistorie +- Wellenform-Ansicht direkt im Browser (WaveSurfer.js) +- Zeitgestempelte Kommentare auf Versionen +- Share-Links für externe Reviewer (kein Account nötig) +- Magic-Link-Auth — kein Passwort-Reset-Chaos +- S3-kompatibler File-Storage (Hetzner Object Storage) + +## Stack + +| Layer | Tech | +|-------|------| +| Frontend | SvelteKit + TypeScript | +| Backend | Hono (Bun) | +| Datenbank | PostgreSQL + Drizzle ORM | +| Storage | S3-kompatibel (Hetzner / MinIO) | +| Email | Resend | +| Deploy | Coolify, Docker | + +Monorepo mit Turborepo: `apps/web`, `apps/api`, `packages/db`, `packages/shared`. + +## Setup (lokal) + +**Voraussetzungen:** Bun, Docker + +```bash +# Dependencies +bun install + +# Dienste starten (Postgres + MinIO) +docker compose up -d + +# .env anlegen +cp .env.example .env + +# Dev-Server +bun dev +``` + +Web läuft auf `http://localhost:5173`, API auf `http://localhost:3000`. + +### Umgebungsvariablen + +Pflicht-Variablen in `.env`: + +```env +DATABASE_URL=postgresql://musichub:musichub@localhost:5433/musichub +MAGIC_LINK_SECRET= +APP_URL=http://localhost:5173 +``` + +Für E-Mail-Versand (optional, ohne läuft Magic Link in der Konsole): +```env +RESEND_API_KEY=re_... +EMAIL_FROM=Music Hub +``` + +## Datenbankmigrationen + +```bash +# Schema ändern → Migration generieren +bun db:generate + +# Migration anwenden +bun db:migrate +``` + +## Deployment + +Läuft auf [Coolify](https://coolify.mydrugismusic.com) via GitHub-Mirror (`robinchoice/music-hub`). + +- **Web:** [hub.mydrugismusic.com](https://hub.mydrugismusic.com) +- **API:** intern via `API_INTERNAL_URL` + +Deploy wird per Webhook getriggert (siehe `reference_coolify.md` in den Projekt-Notizen). + +## Projektstruktur + +``` +music-hub/ +├── apps/ +│ ├── api/ # Hono API (Bun) +│ └── web/ # SvelteKit Frontend +├── packages/ +│ ├── db/ # Drizzle Schema + Migrationen +│ └── shared/ # Zod-Schemas, gemeinsame Typen +├── Dockerfile.api +├── Dockerfile.web +└── docker-compose.yml +```