LearnX is a modern, full-featured Learning Management System (LMS) built with a powerful TypeScript-first MERN architecture (Next.js + Node/Express). Designed for secure, scalable online education, LearnX enables instructors to sell premium courses while ensuring protected video delivery, seamless payments, real-time analytics, and structured course management.
From DRM-protected streaming to Stripe-powered transactions and live platform insights — LearnX blends security, performance, and product-driven architecture into one scalable ecosystem.
- 🎨 Frontend: Next.js 13+, React 18, TypeScript, Redux Toolkit + RTK Query, Tailwind CSS, Material UI
- ⚙️ Backend: Node.js, Express.js, TypeScript
- 🗄 Database & Caching: MongoDB, Mongoose, Redis
- 🔐 Authentication & Security: JWT, bcryptjs, NextAuth
- 💳 Payments: Stripe
- 📺 Secure Video Delivery: VdoCipher (DRM + Watermark Protection)
- 📧 Email System: Nodemailer
- ⚡ Real-time Features: Socket.io
- ☁️ Media Storage: Cloudinary
- 🚀 Deployment: Vercel (Frontend), Render (Backend)
- 🔐 Secure authentication & role-based authorization
- 🎓 Enroll in premium courses with instant activation
- 📺 DRM-protected video streaming
- 📂 Downloadable resources & structured curriculum
- 📊 Progress tracking & learning analytics dashboard
- 🧾 Enrollment history & purchase tracking
- 📱 Fully responsive & accessible interface
- 🏗 Full course creation module (curriculum builder, lessons, quizzes)
- 🎥 Secure video uploads with watermark & anti-piracy protection
- 💰 Flexible pricing, discounts & monetization tools
- 📈 Sales analytics & revenue tracking
- 📝 Assessments, quizzes & performance insights
- 🎓 Certificate generation system
- 📊 Centralized admin dashboard
- 👥 Manage users, instructors & permissions
- 📝 Course approval & moderation workflow
- 💳 Payment monitoring & refund management
- 🚨 Blocked user & suspicious activity handling
- 🔧 Global configuration & role control
- 🔔 Real-time notifications (enrollments, payments, updates)
- 📈 Live revenue & engagement analytics
- 📧 Automated transactional email system
- 🔄 Role-based live dashboard updates
- 🛠 Structured error monitoring & logging
client/
├── public/ # Static assets (images, favicon, thumbnails)
├── redux/ # Redux Toolkit store, slices & RTK Query APIs
├── app/ # Next.js App Router structure
│ ├── about/ # About page
│ ├── admin/ # Admin dashboard & management pages
│ ├── api/ # Next.js API routes (if any)
│ ├── components/ # Reusable UI components
│ ├── course/ # Single course details & learning pages
│ ├── course-access/ # Protected course access pages
│ ├── courses/ # Course listing & discovery pages
│ ├── faq/ # FAQ page
│ ├── hooks/ # Custom React hooks
│ ├── privacy/ # Privacy policy page
│ ├── profile/ # User profile & dashboard
│ ├── providers/ # Context providers (Auth, Theme, etc.)
│ ├── static/ # Static constants & configuration data
│ ├── styles/ # Global & modular styling files
│ ├── global.css # Global CSS styles
│ ├── layout.tsx # Root layout component
│ └── page.tsx # Landing / Home page
server/
├── controllers/ # Business logic for routes
├── db/ # Database connection configuration
├── dist/ # Compiled TypeScript build output
├── middleware/ # Auth, role-based & error middleware
├── models/ # Mongoose schemas & database models
├── routes/ # Express route definitions
├── services/ # External integrations (Stripe, VdoCipher, Email)
├── utils/ # Helper functions & utilities
├── @types/ # Custom TypeScript type definitions
├── .env # Environment variables
├── index.ts # Express server entry point
└── socketServer.ts # Socket.io real-time server setup
LearnX is more than just an LMS — it’s a secure digital learning infrastructure built with scalability and monetization in mind.
From protected content delivery to real-time revenue analytics, every module reflects a production-focused engineering approach.
This project demonstrates:
- Full-stack TypeScript architecture
- Secure payment & DRM integrations
- Role-based system design
- Real-time data flow
- SaaS-level platform thinking