Rozmowa nie powinna wymagać konfiguracji
Zebranie znajomych na rozmowę zwykle oznacza tworzenie serwera, układanie kanałów i rozdawanie ról. Tutaj tworzysz pokój i wysyłasz link.
Chatovo to otwarty projekt: kod, serwer mediów i baza danych działają na twoich maszynach, a nie w cudzej chmurze.
Projekt zaczął się od próby wycięcia całej ceremonii z rozmawiania z ludźmi.
Zebranie znajomych na rozmowę zwykle oznacza tworzenie serwera, układanie kanałów i rozdawanie ról. Tutaj tworzysz pokój i wysyłasz link.
Serwer mediów, bazę danych i przesłane pliki wdrażasz u siebie. Żadnej zewnętrznej analityki, żadnego zewnętrznego magazynu na załączniki.
Kod źródłowy, historia wydań i dyskusje są na GitHubie. Możesz przeczytać, jak działa każda część, i zbudować własną kopię.
Monorepo na Bun workspaces: klient, serwer, powłoka desktopowa i wspólne schematy w jednym miejscu.
Next.js 16 i React 19, eksportowane statycznie. Struktura według Feature-Sliced Design, style w modułach SCSS.
Tauri 2: ta sama aplikacja webowa w natywnej powłoce w Rust dla Windows, macOS, Linux i Android.
NestJS 11 na Bun z Prisma na własnym Postgresie. Uwierzytelnianie działa na better-auth.
Własny serwer LiveKit SFU dla WebRTC. Dostęp do pokoju daje token podpisany przez serwer.
Schematy Zod w pakiecie @chatovo/schemas są jedynym źródłem prawdy dla typów klienta i serwera.
TypeScript wszędzie, Vitest i Playwright do testów, buildy i wydania przez GitHub Actions.
Dziękujemy wszystkim, których kod trafił do projektu.
Projekt jest otwarty na zmiany — od literówki w tekście po całą nową sekcję ustawień.
Zrób fork repozytorium, utwórz gałąź od master i otwórz pull request. Styl kodu i struktura są opisane w repozytorium.
Masz błąd albo pomysł? Otwórz issue. Kroki do odtworzenia i wersja aplikacji bardzo przyspieszają pracę.
Repozytorium zawiera konfigurację Caddy i LiveKit, więc możesz postawić własną, pełną instancję.