← All projects

Learning Hub — Scalable Learning Platform

B2B SaaS e-learning platform: flexible monetization (one-time purchases and category subscriptions), global search, JWT-secured access and a full admin panel.

2025
Learning Hub — Scalable Learning Platform

// Technologies

ReactNode.jsExpressPostgreSQLSequelizeMaterial-UIReact RouterJWTREST API

Learning Hub is an enterprise-grade e-learning SaaS platform for the B2B market. The system turns educational content into a secure, predictable revenue stream — from the course catalog and global search to flexible billing and automated access control.

Three pillars of stability
Three pillars of stability
Architectural foundation
Architectural foundation

Architecture: separation and scalability

At its core is a decoupled architecture: a React frontend and a Node.js/Express backend communicate over a RESTful API, while data is stored in PostgreSQL with strictly typed relations (Sequelize ORM). The frontend and backend can scale independently as the number of B2B clients grows.

Security is built on JWT: stateless authentication via authMiddleware and dynamic permission checks (authorizeRoles) separate student and administrator access right at the API level.

Role separation and security
Role separation and security
Admin dashboard
Admin dashboard

Content management and intelligent search

Content is organized hierarchically: Category → Course → Module → Lesson (video) and module tests. The global B2B search uses typo-tolerant logic (iLike) and Promise.allSettled, so an error in a single query never breaks the entire result set.

Administrators manage the catalog, pricing, subscriptions and the dynamic homepage (hero slider, SEO, isPopular flag) through a visual Material-UI panel.

Content hierarchy and search
Content hierarchy and search
Course structure and certification
Course structure and certification

Student journey and seamless navigation

The user path: global search → course card → authorization and payment → the learning process. React routing (/courses/:courseId/lessons/:lessonId) updates content without a page reload and records progress. Passing a module test unlocks access to the next module.

Student journey
Student journey
Dynamic navigation
Dynamic navigation
Module tests
Module tests

Dual B2B monetization engine

The platform combines two models: a one-time purchase of a specific course (the UserCourseAccess table) and a category subscription (Subscriptions with intervals and active / cancelled / expired statuses). Automated payment gates check access at the API level and, once a subscription expires, lock the content without any manual intervention.

Dual monetization engine
Dual monetization engine
Pricing matrix
Pricing matrix
Payment security gate
Payment security gate

Ready to scale

Fault tolerance is ensured by stateless JWT (easy horizontal scaling of Node.js), strict Sequelize relations (onDelete: CASCADE), failure isolation via Promise.allSettled and centralized error handling. The result is a closed monetization loop: content → search → payment → secured access.

Fault tolerance
Fault tolerance
Monetization loop
Monetization loop