Все шаблоны

Общение

Чат на WebSocket

То же самое, но с постоянным соединением

Сложный По подпискечатwebsocketrealtimeredis

Альтернатива обычному чату для нагрузок, где SSE перестаёт справляться: двусторонний канал, присутствие участников в реальном времени, доставка без задержки. Требует процесса, который живёт постоянно, — на serverless не поедет.

Что внутри

  • Двусторонний канал с переподключением и добором пропущенного
  • Кто сейчас онлайн и кто печатает
  • Доставка и прочтение по каждому сообщению
  • Горизонтальное масштабирование через Redis

Что добавит в проект

Поверх общей базы — она уже даёт авторизацию, базу и интерфейс.

Таблицы в базе3

chat_roomschat_memberschat_messages

Пакеты npm2

wsioredis

Маршруты3

/chat/chat/[roomId]/api/chat/socket

Переменные окружения1

REDIS_URL
REDIS_URL
Общая шина, чтобы реплики видели сообщения друг друга

Связи

Нельзя вместе с

Разбор архитектуры

Берите этот модуль, только если постоянный процесс уже есть в инфраструктуре: на Vercel он не работает. Реплики обмениваются сообщениями через Redis, иначе участники на разных инстансах не увидят друг друга.

Общая база

Пустое, но рабочее приложение: авторизация, база, UI-кит и деплой уже собраны и связаны между собой. Модули не переписывают его файлы — они добавляют свои и регистрируются в готовых точках расширения, поэтому их можно ставить в любом сочетании.

Next.js 16 (App Router)TypeScriptPostgreSQL + Drizzle ORMAuth.jsTailwind CSS + shadcn/uiDocker