Документация к проекту расположена в docs
Список задач по котором можно отслеживать прогресс проекта
Прогресс: (~67%) Задач всего: 92 Выполнено: 62 Осталось: 30
Задачи связанные с инфраструктурой сервиса, деплоем и локальной разработкой
- (4/4) Локальная разработка
- docker-compose
- Makefile
- Air (live reload)
- Миграции
- (0/5) Деплой
- Домен
- DNS
- Postgres
- Redis
- Server
Задачи на серверную часть проекта
- (13/13) User service
- Миграция БД
- Domain структуры
- SQLC запросы
- Создание профиля
- Удаление профиля
- Логин
- Разлогин
- Поиск
- Обновление профиля
- Создание сессии
- Удаление сессии
- Аутентификационная мидделвара
- Интеграция с фронтендом
- (7/7) DM service (личные сообщения)
- Миграция БД
- Domain структуры
- SQLC запросы
- Создание DM
- Список DM пользователя
- Сообщения (первая/следующие страницы)
- Интеграция с Hub (WebSocket)
- (11/11) Server service (публичные сервера с топиками)
- Миграция БД (servers, topics)
- Domain структуры
- SQLC запросы
- Создание сервера
- Обновление сервера
- Удаление сервера
- Присоединение к серверу
- Выход из сервера
- CRUD топиков
- Сообщения в топиках
- Интеграция с Hub (WebSocket)
- (4/10) WebSocket Hub (realtime сообщения + signaling)
- WebSocket endpoint
/v1/signaling/ws - Join канала (DM/Server)
- Leave канала
- Broadcast сообщений участникам
- Call events (EventCallStart, EventCallEnd)
- WebRTC signaling (offer, answer, ice candidates)
- Call room management (voice топики)
- Нотификация дисконекта участников
- Broadcast участникам звонка
- Интеграция звонка с фронтендом
- WebSocket endpoint
- (0/7) Call Service
- Domain: Call, CallParticipant структуры
- Redis: хранение активных звонков
- Hub: создание/удаление комнаты звонка
- Hub: вход/выход участников
- Signaling: обработка offer/answer
- Signaling: обработка ICE candidates
- Запись звонков (опционально)
Задачи на клиентскую часть проекта (SolidJS)
- (4/4) Общее
- Vite + SolidJS зависимость
- Общие стили (Tailwind CSS)
- Toast уведомления
- UI компоненты (Button, FormTextInput, Modal, avatar)
- (3/3) Страницы
- Страница логина (UI)
- Страница регистрации (UI)
- Главная страница App (UI)
- (10/18) Sidebar
- Tab switching (direct/servers)
- Компоненты SidebarServer, SidebarDM
- API: загрузка списка серверов
- API: загрузка списка DM
- API: поиск серверов
- API: поиск пользователей
- API: создание сервера
- API: присоединение к серверу
- UI: сервер с топиками
- UI: создание/удаление сервера
- UI: создание/удаление топика
- UI: модалка настроек профиля
- API: обновление профиля
- API: разлогин
- JS: menu-bar + content-bar communication
- JS: запись табов в URL
- JS: получение данных профиля
- (5/7) Чат
- Компонент Chat
- Компонент ChatMessage
- Компонент ChatInput
- WebSocket клиент с переподключением
- API: отправка сообщения
- API: загрузка истории
- JS: авто-прокрутка к новым сообщениям
- (0/8) Звонки
- WebRTC хук (useWebRTC)
- Поддержка микрофона
- Поддержка камеры
- Поддержка трансляции экрана
- UI: компонент звонка
- UI: отображение участников
- Интеграция с signaling WebSocket
- Call UI для voice топиков
To fix:
- sort services, topics, dms
- Turn server
- Unit tests
- E2E tests
- Push notifications