Die nächste Generation von Audio-Diskussionsräumen
Moderne Echtzeit-Audioplattform für strukturierte Gespräche
Intuitive Benutzerführung · Hochwertige Audioqualität · Intelligente Raumverwaltung
🚀 Features • 🛠️ Tech-Stack • 🔧 Setup • 📱 Screenshots • ⚙️ Architektur • 🚀 Deployment • 📜 Lizenz
| Benutzer | Räume | Audio | |||
|---|---|---|---|---|---|
| 🔐 | Authentifizierung Magic Links & Passkeys |
🏠 | Raumverwaltung Erstellen, Einladen, Verwalten |
🎙️ | HD Audio Kristallklare Sprachqualität |
| 👤 | Profilverwaltung Personalisierte Avatare |
📅 | Zeitplanung Geplante und spontane Räume |
🔊 | Noise Cancellation Unterdrückung von Hintergrundgeräuschen |
| 🔔 | Benachrichtigungen Echtzeit-Updates |
👥 | Rollenmanagement Moderator, Speaker, Listener |
✋ | Wortmeldungen Intelligente Speaker-Queue |
| 🌙 | Dark Mode Augenschonende Nutzung |
🔍 | Raum-Discovery Themenbasierte Raumsuche |
📊 | Sprachaktivität Visuelle Sprecher-Indikatoren |
| 📱 | Responsive Design Desktop & Mobile optimiert |
🔒 | Privatsphäre Öffentliche/Private Räume |
⚡ | Niedrige Latenz Verzögerungsfreie Kommunikation |
- Admin-Dashboard – Umfassende Plattformüberwachung und Nutzerverwaltung
- Realtime-Infrastruktur – Sofortige Synchronisation aller Änderungen
- Skalierbare Architektur – Entworfen für hohe Nutzer- und Raumzahlen
- Fokus auf UX – Intuitive Benutzerführung für alle Altersgruppen
|
Next.js 14 |
TypeScript |
Tailwind |
shadcn/ui |
React |
|
Supabase |
PostgreSQL |
LiveKit |
Zustand |
Vercel |
Frontend: App Router · Server Components · Streaming · Suspense
Backend: Row-Level Security · Realtime Subscriptions · Edge Functions
Audio: WebRTC · SFU-Architektur · Opus-Codec · Automatische Skalierung
# Repository klonen
git clone https://github.com/ttvtimotheus/clarik.git
cd clarik
# Abhängigkeiten installieren
npm install
# Entwicklungsserver starten
npm run dev
# Besuche http://localhost:3000 |
|
Erstelle eine .env.local Datei im Projektroot:
# Supabase Konfiguration
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
# LiveKit Konfiguration
LIVEKIT_API_KEY=your-livekit-api-key
LIVEKIT_API_SECRET=your-livekit-api-secret
NEXT_PUBLIC_LIVEKIT_URL=wss://your-livekit-instance.livekit.cloud- Erstelle ein neues Projekt auf Supabase
- Führe die SQL-Skripte in der folgenden Reihenfolge aus:
lib/supabase/schema.sql(Basisschema)lib/supabase/admin-schema.sql(Admin-Funktionen)lib/supabase/secure-admin-views.sql(Sichere Views)
- Aktiviere die Authentication-Dienste:
- Email mit "Confirm email" aktivieren
- Passkey-Authentifizierung aktivieren
- Erstelle ein neues Projekt auf LiveKit Cloud
- Kopiere API-Key und Secret in die
.env.local - Optional: Für Produktionsumgebungen eigenes LiveKit-Cluster aufsetzen
| Homepage | Audio Room | Admin Dashboard |
Ersetze die Platzhalter-Bilder durch echte Screenshots deiner Anwendung
flowchart TD
U[User] -->|interacts with| F[Frontend - Next.js]
F -->|Auth & Data| S[Supabase Backend]
F -->|Real-time Audio| L[LiveKit WebRTC]
S -->|Row-Level Security| DB[(PostgreSQL)]
S -->|Realtime Updates| F
L -->|Audio Stream| F
subgraph "Frontend Components"
FC1[Pages & Layouts] --> FC2[Component Library]
FC2 --> FC3[Context Providers]
FC3 --> FC4[Hooks & Utils]
end
subgraph "Backend Services"
BS1[Authentication] --> BS2[Database]
BS2 --> BS3[Realtime]
BS3 --> BS4[Edge Functions]
end
F --- FC1
S --- BS1
|
|
One-Click-Deployment mit Vercel:
- Klicke auf den Button oben
- Verbinde dein GitHub-Konto
- Konfiguriere die Umgebungsvariablen:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYLIVEKIT_API_KEYLIVEKIT_API_SECRETNEXT_PUBLIC_LIVEKIT_URL
Dein Supabase-Projekt dient als Backend und ist bereits gehostet. Für die Produktion empfehlen wir:
- Upgrade auf den Supabase Pro-Plan für Produktionsworkloads
- Aktiviere täglich Backups der Datenbank
- Konfiguriere CORS-Einstellungen für deine Domain
- Konfiguriere den SMTP-Server für E-Mail-Benachrichtigungen
LiveKit Cloud bietet eine gehostete Lösung für die WebRTC-Funktionalität:
- Für Produktionsumgebungen wähle den passenden Plan nach erwarteter Nutzerzahl
- Konfiguriere regionale Server für niedrige Latenz
- Stelle sicher, dass die LiveKit-Tokens korrekt generiert werden
Beiträge sind willkommen! So kannst du helfen:
- 🐛 Issues - Bug-Reports und Feature-Requests einreichen
- 🔀 Pull Requests - Code-Verbesserungen vorschlagen
- 📖 Dokumentation - Zur Dokumentation beitragen
- 🧪 Tests - Helfen, die Testabdeckung zu verbessern
Dieses Projekt ist unter der MIT-Lizenz lizenziert.