Все проектыАрхивный проект

Yacord

Полнофункциональный веб-клиент и аналог Discord

Yacord скриншот 1Yacord скриншот 2Yacord скриншот 3Yacord скриншот 4
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