Hakkında

Kendin çalıştırabileceğin ses odaları

Chatovo açık bir proje: kod, medya sunucusu ve veritabanı başkasının bulutunda değil, senin makinelerinde yaşar.

Neden var

Proje, insanlarla konuşmayı tüm o formalitelerden kurtarma denemesi olarak başladı.

Sohbet kurulum gerektirmemeli

Arkadaşları bir görüşme için toplamak genellikle bir sunucu oluşturmak, kanalları düzenlemek ve roller dağıtmak demek. Burada bir oda oluşturur ve bağlantıyı gönderirsin.

Veriler sahibinde kalır

Medya sunucusu, veritabanı ve yüklenen dosyalar — hepsini kendin kurarsın. Üçüncü taraf analiz yok, ekler için harici depolama yok.

Her şey açıkta

Kaynak kod, sürüm geçmişi ve tartışmalar GitHub'da. Herhangi bir parçanın nasıl çalıştığını okuyabilir ve kendi kopyanı kurabilirsin.

Nasıl geliştirildi

Bir Bun workspaces monoreposu: istemci, sunucu, masaüstü kabuğu ve ortak şemalar tek bir yerde.

İstemci

Statik olarak dışa aktarılan Next.js 16 ve React 19. Feature-Sliced Design ile yapılandırılmış, SCSS modülleriyle biçimlendirilmiş.

Masaüstü ve mobil

Tauri 2: aynı web uygulaması, Windows, macOS, Linux ve Android için yerel bir Rust kabuğunun içinde.

Sunucu

Bun üzerinde NestJS 11, kendi sunucumuzdaki Postgres üzerinde Prisma. Kimlik doğrulama better-auth ile çalışır.

Medya

WebRTC için kendi sunucumuzda çalışan bir LiveKit SFU. Odaya erişim, sunucunun imzaladığı bir token ile verilir.

Ortak şemalar

@chatovo/schemas paketindeki Zod şemaları, istemci ve sunucu tipleri için tek doğruluk kaynağıdır.

Araçlar

Baştan sona TypeScript, testler için Vitest ve Playwright, derlemeler ve sürümler GitHub Actions üzerinden.

Kimler katıldı

Kodu projeye giren herkese teşekkürler.

Nasıl katkıda bulunabilirsin

Proje, bir metindeki yazım hatasından koca bir ayar bölümüne kadar her değişikliğe açık.

Değişiklik gönder

Depoyu fork'la, master'dan bir dal aç ve bir pull request gönder. Kod stili ve yapı depoda belgelenmiştir.

Sorun bildir

Bir hata mı buldun ya da bir fikrin mi var? Bir issue aç. Sorunu yeniden üretme adımları ve uygulama sürümü, çözümü çok hızlandırır.

Kendininkini çalıştır

Depoda Caddy ve LiveKit yapılandırması da var; böylece eksiksiz bir kopyayı kendin ayağa kaldırabilirsin.