← Все проекты

Learning Hub — масштабируемая образовательная платформа

B2B SaaS-платформа онлайн-обучения: гибкая монетизация (разовые продажи и подписки на категории), сквозной поиск, защищённый доступ на JWT и полноценная админ-панель.

2025
Learning Hub — масштабируемая образовательная платформа

// Технологии

ReactNode.jsExpressPostgreSQLSequelizeMaterial-UIReact RouterJWTREST API

Learning Hub — образовательная SaaS-платформа enterprise-уровня для B2B-рынка. Система превращает образовательный контент в защищённый, прогнозируемый денежный поток: от каталога курсов и сквозного поиска до гибкого биллинга и автоматизированного контроля доступа.

Три столпа стабильности
Три столпа стабильности
Архитектурный фундамент
Архитектурный фундамент

Архитектура: разделение и масштабируемость

В основе — decoupled-архитектура: React-фронтенд и Node.js/Express-бэкенд взаимодействуют через RESTful API, а данные хранятся в PostgreSQL со строгой типизацией связей (Sequelize ORM). Интерфейс и серверную часть можно масштабировать независимо по мере роста числа B2B-клиентов.

Безопасность построена на JWT: stateless-аутентификация через authMiddleware и динамическая проверка прав (authorizeRoles) разграничивают доступ студента и администратора прямо на уровне API.

Разграничение ролей и безопасность
Разграничение ролей и безопасность
Панель управления
Панель управления

Управление контентом и интеллектуальный поиск

Контент организован иерархически: Категория → Курс → Модуль → Урок (видео) и модульные тесты. Сквозной B2B-поиск использует typo-tolerant логику (iLike) и Promise.allSettled, поэтому ошибка в одном запросе не рушит всю поисковую выдачу.

Администраторы управляют каталогом, тарифами, подписками и динамической главной страницей (Hero-слайдер, SEO, флаг isPopular) через визуальную панель на Material-UI.

Иерархия контента и поиск
Иерархия контента и поиск
Структура курса и сертификация
Структура курса и сертификация

Путь студента и бесшовная навигация

Путь пользователя: глобальный поиск → карточка курса → авторизация и оплата → процесс обучения. React-маршрутизация (/courses/:courseId/lessons/:lessonId) обновляет контент без перезагрузки страницы и фиксирует прогресс. Успешное прохождение модульного теста открывает доступ к следующему модулю.

Путь студента
Путь студента
Динамическая навигация
Динамическая навигация
Модульные тесты
Модульные тесты

Двойной движок монетизации B2B

Платформа совмещает две модели: разовую покупку конкретного курса (таблица UserCourseAccess) и категорийную подписку (Subscriptions с интервалами и статусами active / cancelled / expired). Автоматизированные «врата оплаты» проверяют доступ на уровне API и при истёкшей подписке закрывают контент без ручного вмешательства.

Двойной движок монетизации
Двойной движок монетизации
Матрица тарифов
Матрица тарифов
Врата безопасности оплаты
Врата безопасности оплаты

Готовность к масштабированию

Отказоустойчивость обеспечивают stateless-JWT (лёгкое горизонтальное масштабирование Node.js), строгие связи Sequelize (onDelete: CASCADE), изоляция сбоев через Promise.allSettled и централизованная обработка ошибок. Итог — замкнутый цикл монетизации: контент → поиск → оплата → защищённый доступ.

Отказоустойчивость
Отказоустойчивость
Цикл монетизации
Цикл монетизации