Aktueller Stand der App

MOC - Map of Content

Letztes Update: 2026-02-16 | Status: Production-Ready mit Erweiterungen


Überblick

Die Breakout-Musik-Plattform ist funktional vollständig und in Produktion. Alle Kern-Features sind implementiert und getestet. Diese Dokumentation beschreibt den AKTUELLEN CODE-STAND — nicht Plans oder Visionen, sondern was tatsächlich gebaut ist.

Markierungen:


🏗️ Technologie-Stack

Frontend

Komponente Version Status
React 19 🟢
Vite 7 🟢
Tailwind CSS v4 (CSS-based config) 🟢
TypeScript strict mode 🟢
Supabase JS Client v2 🟢

Besonderheiten:

Backend & Database

Komponente Status Details
Supabase (Postgres) 🟢 42 Migrations, 16 Tabellen
Supabase Auth 🟢 OAuth + Email/Password
Supabase Realtime 🟢 Live-Subscriptions aktiviert
Supabase Storage 🟢 Private "tracks" Bucket, signed URLs

Serverless Functions

Tool Provider Status
13 Netlify Functions Netlify 🟢
Request Auth JWT validation 🟢
Stripe Webhooks Stripe 🟢

Payments & Monetization

System Status Details
Stripe Checkout 🟢 4 Payment Modes: entry_fee, buy_first, skip_to_n, boost
Stripe Connect 🟢 Creator Payouts, Account Management
Webhook Processing 🟢 Race-condition guards, idempotency keys

📦 Directory Layout

apps/web/src/
├── components/         (57 Komponenten, 8 Ordner)
│   ├── host/          15 Host-Dashboard-Komponenten
│   ├── viewer/        13 Viewer/Queue-Komponenten
│   ├── shared/        19 Shared-Komponenten
│   ├── artist/         2 Artist-Profile-Komponenten
│   ├── community/      5 Community-Feed-Komponenten
│   ├── dev/            3 Development-Tools
│   └── layout/         (empty, routing via pages)
├── hooks/             19 Custom Hooks
├── lib/
│   ├── types.ts       Alle TypeScript Interfaces
│   ├── pricing.ts     Preisberechnungs-Logik
│   ├── supabase.ts    Supabase Client Init
│   ├── api.ts         API-Helferfunktionen
│   └── formatters.ts  Text/Currency-Formatters
├── pages/             15 Route-Pages
└── contexts/          AudioPlaybackContext

netlify/functions/     13 Serverless Functions
supabase/
├── migrations/        42 SQL-Migrationen
└── seed.sql          (optional)

🟢 VOLLSTÄNDIG IMPLEMENTIERT

Kern-Features

1️⃣ User Authentication & Profiles

Komponenten:

Pages:


2️⃣ Session & Queue Management

Database Tables:

Pages:

Host Components:

Viewer Components:


3️⃣ Breakout Voting System

Database Tables:

Outcomes:

Components:

Pages:


4️⃣ Payment & Pricing System

Pricing Formula:

skip_price = max(min_skip_price, ceil(topBid * (1 + increment_pct/100)))

Payment Flow:

  1. User selects entry type + position
  2. createCheckoutSession() calculates price
  3. Stripe Checkout opens
  4. Success → Webhook triggers
  5. stripeWebhook() runs atomic insert RPC

Database Tables:

Security Features:


5️⃣ Artist & Community Features

Database Tables:

Components:

Pages:


6️⃣ Audio & File Management

Components:

Netlify Functions:


7️⃣ Onboarding & Account Setup

Pages:

Components:


Datenbank: 42 Migrationen

Core Tables (Migrations 1-15):

Breakout System (Migrations 16-25):

Community Features (Migrations 26-35):

Extended Features (Migrations 36-42):

Row-Level Security (RLS):


Hooks: 19 Custom Hooks

Hook Zweck Realtime
useSession Load active session
useQueue Fetch queue entries
useAuth Current user auth state
useCreator Load creator profile
useMyCreator Own creator profile
useBreakoutRound Current breakout state
useBreakoutVotes All votes in round
useBreakoutResults Computed results
useArtist Artist profile
useBoostTokens Boost token inventory
useRatings Entry ratings
useAnalyticsSummary Session stats
useActiveSessions All live sessions
useCommunityRankings Leaderboard data
useSessionHistory Past sessions
usePlatformMessages Admin messages
useSupportMessages Help tickets
useRatingCriteria Custom rating attributes
useEntryRatings Detailed rating data

Netlify Functions: 13 Serverless

Funktion Zweck Auth Atomic
submitEntry Free queue insert Participant Token ✅ RPC
createCheckoutSession Stripe Checkout JWT
stripeWebhook Payment completion Stripe Signature ✅ RPC
getSignedUrl Audio playback URL Participant Token
castBreakoutVote Community vote IP Hash ✅ Advisory Lock
computeBreakoutResults Score calculation Service Role
editEntry Edit waiting entry Participant Token ✅ RPC
freeBoost Use boost token Participant Token ✅ RPC
cleanupStorage Delete stale audio Service Role
createConnectAccount Stripe onboarding JWT
processWeeklyPayouts Batch payout Service Role
stripeConnectWebhook Account updates Stripe Signature
devSeed Test data (local) Environment

🟡 PARTIELL IMPLEMENTIERT

1. Landing Page & Marketing

Status: Funktioniert, aber minimalistisch


2. Email System

Blockers: Requires email template service + SMTP config


3. Admin Dashboard & Dev Tools

Status: Dev tools exist, but no production admin UI


4. Analytics & Reporting

Status: Creator analytics work, but limited scope


🔴 NICHT IMPLEMENTIERT

1. Tournament System

Priority: Post-Launch Feature


2. Affiliate/Referral System

Priority: Post-Launch Feature


3. Advanced Scheduling

Priority: Post-Launch Feature


4. Community Moderation

Priority: Post-Launch Feature


5. A&R Interface (Artist Management)

Priority: Season 2 Feature


6. Advanced Achievements

Priority: Post-Launch Expansion


📊 Statistik

Kategorie Anzahl Status
Komponenten 57 🟢
Hooks 19 🟢
Pages 15 🟢
Netlify Functions 13 🟢
DB Migrations 42 🟢
DB Tables 16 🟢
DB Enums 6 🟢
Tests (Unit) 23 🟡
Tests (E2E) 5+ 🟡

🎯 Nächste Schritte

Vor Launch:

  1. Content Review & Branding (Umlaute, German text)
  2. Home Hub / Feed Redesign
  3. Security Audit & Penetration Testing
  4. Performance Testing & Optimization
  5. E2E Test Coverage (critical paths only)

Nach Launch (Q1-Q2 2026):

  1. Email System (transactional)
  2. Admin Dashboard
  3. Affiliate System
  4. Advanced Analytics
  5. Tournament System