← Всі проєкти

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 і централізована обробка помилок. Підсумок — замкнений цикл монетизації: контент → пошук → оплата → захищений доступ.

Відмовостійкість
Відмовостійкість
Цикл монетизації
Цикл монетизації