Все проектыАрхивный проект
Yacord
Полнофункциональный веб-клиент и аналог Discord




1 / 4
Моя рольОснователь & Fullstack Разработчик
Период2024 – 2025
Категории
Web AppReal-TimeFullstack
О проекте и концепция
Yacord — это веб-ориентированный аналог Discord для построения сообществ и корпоративных коммуникаций. Платформа поддерживает систему кланов, древовидные структуры каналов, чат в реальном времени на сокетах, редактор форматирования сообщений на базе Яндекс Gravity UI и защиту регистрации через Yandex SmartCaptcha.
Ключевые возможности
- Дизайн-система на базе Yandex Gravity UI (@gravity-ui/uikit и @gravity-ui/markdown-editor)
- Высокоскоростной асинхронный бэкенд на Bun + Hono API со связкой PostgreSQL & Sequelize ORM
- Чат в реальном времени (Socket.io) с поддержкой форматирования Markdown и истории сообщений
- Защита процесса регистрации и входа с помощью Yandex SmartCaptcha
Инженерные вызовы и решения
Синхронизация состояния текстовых каналов и кланов
Сложность / Проблема
При переключении между серверами и текстовыми комнатами требовалось сохранять высокую скорость отклика без повторных лишних запросов.
Решение
Архитектура Redux Toolkit со слайсами кланов и каналов в сочетании с WebSocket-событиями Socket.io.
Безопасность аутентификации и бот-защита
Сложность / Проблема
Обеспечение защиты от спам-регистраций ботов в открытых серверах.
Решение
Внедрение клиентско-серверной валидации токенов Yandex SmartCaptcha на этапе регистрации.
Выводы и вынесенный опыт
- Использование Gravity UI и компонентов Yandex позволяет собирать сложные экосистемные веб-приложения.
- WebSocket события должны иметь чёткую схему тикетов для избежания утечек памяти.
Использованный стек технологий
React 18TypeScriptViteHonoBunGravity UIRedux ToolkitPostgreSQLSequelize ORMSocket.ioSCSSSmartCaptcha