Skip to content

Technical Docs - LearnX LMS

1. Architecture Overview (AWS)

LearnX is a role-based Learning Management System (LMS) connecting Instructors and Students through a secure, scalable web platform. It follows a modular MERN stack architecture for seamless integration and deployment.

logo

2. Authentication Flow

Authentication ensures that only valid Instructors and Students can access LearnX. Users log in or sign up using email and password.

flowchart TD
    A[Open Login Page] --> B[Enter Email & Password]
    B --> D[Verify in Database]
    D -->|Valid| E[Generate JWT Token]
    D -->|Invalid| F[Show Error Message]
    E --> G{User Role}
    G -->|Instructor| H[Redirect to Instructor Dashboard]
    G -->|Student| I[Redirect to Student Dashboard]

Purpose:

  • Secure user login
  • Prevent unauthorized access

3. Authorization Flow

After login, the system checks the user’s role and grants access accordingly. Instructors can manage courses, while students can browse, enroll, and watch lessons.

flowchart TD
    A[Login Successful] --> B[Check Role]
    B -->|Instructor| C[Instructor Dashboard]
    C --> D[Create / Edit / Delete Courses & Modules]
    B -->|Student| F[Student Dashboard]
    F --> G[Browse & Enroll Courses]
    F --> H[Watch Lessons]

4. Tech Stack

Layer Logo Technology Version
Programming Language JavaScript JavaScript ES14
Frontend Library React React 19.2.0
CSS Framework Tailwind CSS Tailwind CSS 4.1.17
Build Tool Vite Vite 7.2.2
Runtime Environment Node.js Node.js 22.12.0
Backend Framework Express Express 5.1.0
Database MongoDB MongoDB 8.0
Media Storage Cloudinary Cloudinary 1.45.0
Authentication JWT JWT 9.0.2
Mobile Experience React+PWA React PWA Manifest V3
Cloud Hosting AWS AWS Latest
Version Control GitHub GitHub Latest

5. Conclusion

LearnX LMS uses secure authentication and role-based authorization to provide:

  • Clear separation of Instructor and Student views
  • Safe and scalable system
  • Ready for future features like progress tracking and payments