ЛентаСтатьиЗаметкиКурсы
Рецепты
← Все курсы

Мессенджер: P2P, группы и продакшен

GoReactPostgreSQLWebSocketRedisFSDEffectorDockerCI/CD

Курс: Мессенджер — личные диалоги, группы, продакшен

О курсе

Цель: превратить boilerplate-чат в мессенджер, которым можно пользоваться: личные переписки, группы, realtime-доставка без потерь после разрыва связи, уведомления — и задеплоенный на собственную VM продукт с релизным конвейером.

Подход: каждый модуль — законченный инкремент рабочей системы. Никаких «представьте, что у нас есть…»: вы правите живые миграции, дописываете API по контракту и видите результат в браузере на двух вкладках.

Главная инженерная тема — порядок и синхронизация: тотальный порядок сообщений внутри диалога (seq), догон пропущенного после реконнекта (catch-up), доставка at-least-once с дедупликацией. Это то, что отличает мессенджер от «чата для вебинара».


Кому подходит

  • Прошли Go Backend Development или имеете сравнимый опыт: горутины, HTTP, SQL, миграции.
  • Пишете на React/TypeScript хотя бы на уровне компонентов и хуков.
  • Хотите один крупный сквозной проект вместо десяти упражнений.

Стек

СлойТехнологии
БэкендGo 1.27, chi, pgx, JWT, gorilla/websocket
ДанныеPostgreSQL 16 (миграции expand→contract), Redis (presence, rate limit)
КонтрактOpenAPI-first: спека — источник правды, тест «роуты ↔ спека»
ФронтендReact 19, TypeScript, Vite, effector, FSD, react-router
ЭксплуатацияDocker, реестр образов, release.sh, health-гейт, откат

Маршрут курса

Бэкенд-ядро (модули 1–7): разворот boilerplate → модель диалогов → порядок seq → P2P → группы → доставка и sync → присутствие.

Клиент (модули 8–10): список диалогов → окно переписки, группы и участники → уведомления.

Продакшен (модули 11–13): нагрузка и надёжность → выкат на VM → защита проекта.

Итоговый артефакт: работающий по HTTPS мессенджер на вашем домене с личными диалогами, группами, catch-up после разрыва, Web Push и отлаженным откатом релиза.


Как проходить

  1. Разверните boilerplate (модуль 1) и прогоните зелёные проверки.
  2. Не пропускайте 💻 Практику: модули собираются друг в друга, долг копится.
  3. Держите запущенными два браузерных профиля — почти каждая фича проверяется с двух сторон.
  4. 🧩 Quiz в конце модуля — самопроверка перед практикой следующего.

Программа курса

1

Модуль 1: Разворот boilerplate и маршрут курса

→
2

Модуль 2: Диалоги — одна абстракция для P2P и групп

→
3

Модуль 3: Порядок — seq, курсоры и пагинация

→
4

Модуль 4: Личные диалоги (P2P)

→
5

Модуль 5: Группы — участники, роли, приглашения

→
6

Модуль 6: Доставка — user-centric WS, sync, receipts

→
7

Модуль 7: Присутствие и typing

→
8

Модуль 8: Фронтенд — список диалогов

→
9

Модуль 9: Фронтенд — окно диалога, группы, участники

→
10

Модуль 10: Уведомления — Web Push, mute, mentions

→
11

Модуль 11: Нагрузка и надёжность

→
12

Модуль 12: Выкат на VM — реестр, релизы, откат

→
13

Модуль 13: Защита проекта

→
Начать обучение