Разговор не должен требовать подготовки
Чтобы позвать друзей поговорить, обычно нужно завести сервер, разложить каналы и раздать роли. Здесь достаточно создать комнату и отправить ссылку.
Chatovo — открытый проект: код, сервер медиа и база данных живут на своих машинах, а не в чужом облаке.
Проект начинался как попытка убрать лишнее из голосового общения.
Чтобы позвать друзей поговорить, обычно нужно завести сервер, разложить каналы и раздать роли. Здесь достаточно создать комнату и отправить ссылку.
Медиасервер, база и файлы разворачиваются самостоятельно. Никакой аналитики на стороне, никаких сторонних хранилищ для вложений.
Исходники, история релизов и обсуждения лежат на GitHub. Можно прочитать, как устроена любая часть, и собрать свою сборку.
Монорепозиторий на Bun workspaces: клиент, сервер, десктоп и общие схемы в одном месте.
Next.js 16 и React 19, статический экспорт. Архитектура — Feature-Sliced Design, стили на SCSS-модулях.
Tauri 2: та же веб-часть в нативной оболочке на Rust для Windows, macOS, Linux и Android.
NestJS 11 на Bun, Prisma поверх собственного Postgres. Авторизация — better-auth.
Собственный LiveKit SFU для WebRTC. Доступ в комнату выдаётся токеном, который подписывает сервер.
Zod-схемы в пакете @chatovo/schemas — один источник правды для типов клиента и сервера.
TypeScript везде, Vitest и Playwright для тестов, сборка и релизы через GitHub Actions.
Спасибо всем, чей код попал в проект.
Проект открыт для правок — от опечатки в тексте до нового раздела настроек.
Форкните репозиторий, соберите ветку от master и откройте пул-реквест. Кодстайл и структура описаны в документации репозитория.
Нашли баг или у вас есть идея — заведите issue. Шаги воспроизведения и версия приложения сильно ускоряют разбор.
В репозитории есть конфигурация Caddy и LiveKit, чтобы развернуть свой экземпляр целиком.