Über uns

Sprachräume, die du selbst betreiben kannst

Chatovo ist ein offenes Projekt: Code, Medienserver und Datenbank laufen auf deinen eigenen Rechnern, nicht in der Cloud von jemand anderem.

Warum es Chatovo gibt

Das Projekt begann als Versuch, das ganze Drumherum aus dem Reden mit Leuten zu streichen.

Ein Gespräch sollte keine Einrichtung brauchen

Freunde für einen Call zusammenzutrommeln heißt meist: einen Server anlegen, Kanäle anordnen und Rollen verteilen. Hier erstellst du einen Raum und schickst einen Link.

Die Daten bleiben beim Betreiber

Medienserver, Datenbank und hochgeladene Dateien betreibst du selbst. Keine fremden Analysedienste, kein externer Speicher für Anhänge.

Alles ist offen

Quellcode, Versionsgeschichte und Diskussionen liegen auf GitHub. Du kannst nachlesen, wie jeder Teil funktioniert, und deine eigene Kopie bauen.

Wie es gebaut ist

Ein Monorepo mit Bun-Workspaces: Client, Server, Desktop-Hülle und gemeinsame Schemas an einem Ort.

Client

Next.js 16 und React 19, statisch exportiert. Strukturiert nach Feature-Sliced Design, gestylt mit SCSS-Modulen.

Desktop und Mobil

Tauri 2: dieselbe Web-App in einer nativen Rust-Hülle für Windows, macOS, Linux und Android.

Server

NestJS 11 auf Bun mit Prisma über ein selbst gehostetes Postgres. Die Authentifizierung läuft über better-auth.

Medien

Eine selbst gehostete LiveKit-SFU für WebRTC. Zugang zu einem Raum gibt es über ein Token, das der Server signiert.

Gemeinsame Schemas

Zod-Schemas im Paket @chatovo/schemas sind die einzige Quelle der Wahrheit für die Typen von Client und Server.

Werkzeuge

Durchgehend TypeScript, Vitest und Playwright für Tests, Builds und Releases über GitHub Actions.

Wer mitgemacht hat

Danke an alle, deren Code im Projekt gelandet ist.

So machst du mit

Das Projekt ist offen für Änderungen, vom Tippfehler in einem Text bis zu einem ganz neuen Einstellungsbereich.

Änderung einreichen

Forke das Repository, erstelle einen Branch von master und öffne einen Pull Request. Codestil und Struktur sind im Repo dokumentiert.

Problem melden

Einen Bug gefunden oder eine Idee? Eröffne ein Issue. Schritte zum Nachstellen und die App-Version machen die Bearbeitung viel schneller.

Eigene Instanz betreiben

Das Repository enthält Konfigurationen für Caddy und LiveKit, damit du eine vollständige eigene Instanz aufsetzen kannst.