Олег Десятников olegopro
Fullstack-разработчик Vue 3 / Laravel · 7+ лет опыта
Рейтинг
1 718
№ 577 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Краснодар
Опыт работы
7 лет
На сайте с
2026 года
Юридический статус
Самозанятый

NestJS и WebSocket: чаты, уведомления и обновления в реальном времени

Описание

Живые данные нужны там, где пользователь не должен нажимать F5: чат поддержки, уведомления о новых заявках, статус заказа, совместная работа нескольких операторов над одним списком. Сложность не в самом сокете, а в деталях: кто имеет право слушать этот канал, что происходит при обрыве связи, как не отправить сообщение всем подряд, когда оно адресовано одному.

Решение

Делаю сервис на NestJS с TypeScript от контроллера до клиента. Socket.IO или чистый WebSocket с авторизацией соединения, адресной и широковещательной доставкой событий. Модульная архитектура, DTO и валидация на входе. Состояние и очереди на Redis, чтобы переживать перезапуск и обрывы. REST и WebSocket живут рядом на одном контракте данных, поэтому фронтенд получает те же поля обоими путями.

Результат

Собран полноценный real-time чат с серверной частью: авторизация сокетов, адресная доставка, стабильное поведение при потере связи. Пользователь видит изменения сразу, а не после обновления страницы, и при этом никто не получает чужих событий.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Telegram-боты и мини-приложения: заявки, уведомления, кабинет внутри мессенджера
Telegram-боты и мини-приложения: заявки, уведомления, кабинет внутри мессенджера
17
Веб-разработка и IT Интеграции по API: платежи, CRM, 1С, уведомления и вебхуки
Интеграции по API: платежи, CRM, 1С, уведомления и вебхуки
18
Веб-разработка и IT Автоматизация рутины и парсинг: выгрузки, сценарии в браузере, отчёты
Автоматизация рутины и парсинг: выгрузки, сценарии в браузере, отчёты
16
Веб-разработка и IT Docker и выкладка проекта: окружение одной командой, деплой без ручного SSH
Docker и выкладка проекта: окружение одной командой, деплой без ручного SSH
20