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.
- Secure user authentication system
- Google OAuth (Continue with Google)
- Role-based access control (Admin, Instructor, Student)
- Protected routes and permission-based actions
- Create, update, and delete courses
- Full control over course structure (sections and lessons)
- Instructor-managed content with admin-level moderation
- Secure course purchasing using Stripe API
- Seamless enrollment flow after successful payment
- Admin control over pricing and course availability
- Skill-based placement tests to help students decide if a course matches their level
- Instructor-managed test creation and evaluation
- In-browser coding environment for real-time practice
- Enables hands-on learning without leaving the platform
- Integrated chatbot to assist students during their learning journey
- Helps answer questions and guide users through the platform
- Responsive and accessible UI
- Clean dashboards tailored for each user role
- Modern design built with reusable components
- React.js
- Tailwind CSS
- Redux Toolkit
- Node.js
- Express.js
- RESTful APIs
- MongoDB
- Mongoose
- Stripe API (Payments)
- Google OAuth
- MERN stack architecture
- RESTful API communication
- Role-based authorization enforced at backend level
- Secure authentication and protected routes
- Node.js (v14 or higher)
- MongoDB (Local or MongoDB Atlas)
- Stripe account (for payments)
- Google OAuth credentials
# 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 devOpen the application at: http://localhost:5173
- 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
- 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!