Skip to content

abdelrahman-elkhateeb/Lumina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

288 Commits
 
 
 
 
 
 

Repository files navigation

Lumina

Lumina is a full-stack e-learning platform designed to deliver an interactive, personalized, and secure online learning experience. The platform supports multiple user roles, integrated payments, hands-on coding practice, and intelligent guidance to help learners choose the right courses.

Features

Authentication & Authorization

  • Secure user authentication system
  • Google OAuth (Continue with Google)
  • Role-based access control (Admin, Instructor, Student)
  • Protected routes and permission-based actions

Course Management

  • Create, update, and delete courses
  • Full control over course structure (sections and lessons)
  • Instructor-managed content with admin-level moderation

Payments & Enrollment

  • Secure course purchasing using Stripe API
  • Seamless enrollment flow after successful payment
  • Admin control over pricing and course availability

Placement Test System

  • Skill-based placement tests to help students decide if a course matches their level
  • Instructor-managed test creation and evaluation

Integrated Live IDE

  • In-browser coding environment for real-time practice
  • Enables hands-on learning without leaving the platform

Chatbot Assistant

  • Integrated chatbot to assist students during their learning journey
  • Helps answer questions and guide users through the platform

User Experience

  • Responsive and accessible UI
  • Clean dashboards tailored for each user role
  • Modern design built with reusable components

Tech Stack

Frontend

  • React.js
  • Tailwind CSS
  • Redux Toolkit

Backend

  • Node.js
  • Express.js
  • RESTful APIs

Database

  • MongoDB
  • Mongoose

Integrations

  • Stripe API (Payments)
  • Google OAuth

System Architecture

  • MERN stack architecture
  • RESTful API communication
  • Role-based authorization enforced at backend level
  • Secure authentication and protected routes

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB (Local or MongoDB Atlas)
  • Stripe account (for payments)
  • Google OAuth credentials

Installation

# Clone the repository
git clone https://github.com/abdelrahman-elkhateeb/Lumina.git

# Navigate to project directory
cd Lumina

# Install backend dependencies
cd backend
npm install
npm run dev

# Install frontend dependencies
cd ../client
npm install
npm run dev

Open the application at: http://localhost:5173


User Roles Overview

  • Admin: Full platform control, course moderation, pricing, and user management
  • Instructor: Create and manage courses, sections, lessons, and placement tests
  • Student: Purchase courses, take placement tests, practice in the live IDE

Project Goals

  • Deliver a complete e-learning experience
  • Support personalized learning paths
  • Combine learning, practice, and assessment in one platform
  • Ensure security, scalability, and maintainability

⭐ If you find Lumina helpful, consider starring the repository!

About

Lumina is a full-stack e-learning platform designed to deliver an interactive, personalized, and secure online learning experience. The platform supports multiple user roles, integrated payments, hands-on coding practice, and intelligent guidance to help learners choose the right courses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages