
Платформа с курсами: витрина и кабинеты
Каталог курсов на Next.js плюс LMS для студентов, преподавателей и администраторов
- Next.js
- App Router / RSC
- React
- TypeScript
- +8
Личный кабинет студента после редизайна: чаты в реальном времени, нативные уведомления, две сборки
Детали и код закрыты соглашением: описываю задачи и решения без раскрытия внутренностей.

Кабинет, из которого студент попадает во все сервисы вуза: расписание, курсы, библиотека, финансы, практика, портфолио. Участвовал в редизайне и переводе на современный стек, делал чаты на WebSocket и систему уведомлений, включая нативные push.
Контекст
Платформа собирает в одном кабинете всё, что нужно студенту: расписание, курсы и материалы, электронную библиотеку, финансы, практику, выпускную работу, опросы и переписку с преподавателями.
Проект прошёл редизайн и смену стека: интерфейс собран на актуальном React с типизированным роутером, серверное состояние ведёт кеширующий слой запросов, клиентское — компактные сторы.
Задача
Сложность в реальном времени. Чаты и уведомления должны приходить мгновенно, при этом соединение обязано переживать спящий таб, потерю сети и переключение профиля.
Вторая сложность — объёмы. У активного студента десятки диалогов и сотни сообщений, и наивный рендер списка чатов заметно проседает на мобильных устройствах.
Третья — два клиента. Desktop и mobile отличаются интерфейсом, но не доменной логикой, и дублировать правила авторизации, уведомлений и запросов между ними было бы прямой дорогой к рассинхрону.
Решение
Чаты и уведомления приходят в реальном времени, в том числе когда вкладка закрыта. Длинные списки остаются отзывчивыми, а правила для desktop и mobile описаны один раз.
Результат
Кабинет получил живые чаты и уведомления, которые доходят до пользователя даже с закрытой вкладкой, а списки перестали тормозить на длинной истории.
Для меня это самый современный стек из рабочих проектов: типизированный роутер, кеширующий слой запросов и схемы на границе данных вместе дают ощутимо меньше рантайм-сюрпризов, чем привычная связка стора и ручных запросов.


Каталог курсов на Next.js плюс LMS для студентов, преподавателей и администраторов
Прохождение курса: лонгриды, вебинары, тесты с перетаскиванием, подсказки GPT по выделенному тексту

Стриминг ответов, шаблоны со шагами и условиями, ветвление диалога, загрузка файлов