Skip to content

jakariya0dev/mentora-lms

Repository files navigation

🎓 Mentora - Learning Management System (LMS)

Welcome to Mentora, a full-featured Learning Management System designed to streamline online education and skill development. This platform is built using the powerful MERN stack along with modern tools to deliver a smooth experience for students, teachers, and administrators.


🚀 Live Website

🌐 Live URL: https://mentora-lms.netlify.app
🌐 Server Repo: https://github.com/jakariya0dev/mentora-lms-server

⚠️ For demo purposes, use the following admin credentials:

  • 🧑‍💼 Admin Email: admin@mail.com
  • 🔐 Password: 000000

🛠️ Technologies Used

  • React.js (with Vite)
  • Tailwind CSS (fully responsive & mobile-first)
  • React Router DOM
  • Firebase Authentication
  • Express.js
  • MongoDB
  • TanStack React Query
  • Axios (with secure token handling)
  • Stripe (for payment system)
  • React Hook Form + Yup
  • React Icons
  • React Rating Stars Component

✨ Key Features

✅ Role-based Dashboard System:

  • 👨‍🎓 Student Dashboard
  • 👩‍🏫 Teacher Dashboard
  • 👨‍💼 Admin Dashboard

✅ Secure Authentication via Firebase
✅ JWT-based Route Protection and Role Authorization
✅ Add, Approve & Manage Courses by Teachers/Admin
✅ Enroll in Courses with Stripe Payment Integration
✅ Submit & View Assignments (Students & Teachers)
✅ Course Reviews & Ratings
✅ Teacher Request Approval System
✅ Realtime Enrollment Tracking & Feedback
✅ Dark Mode Ready (optional toggle available)


📂 Folder Structure Highlights

  • client/ – React frontend (Vite)
  • server/ – Express + MongoDB API
  • hooks/ – Custom React hooks (Auth, AxiosSecure, Role)
  • components/ – Reusable UI components (modals, cards, etc.)

🔐 Security & Best Practices

  • 🔒 Firebase Token Verified on Backend
  • 🧑‍💼 Role-checking Middleware for Admin/Teacher Access
  • ❌ Unauthorized access redirects to login page
  • 🧹 Clean and optimized database queries using MongoDB native driver

🌐 Installation

  1. Clone the repository: git clone https://github.com/jakariya0dev/mentora-lms.git
  2. Navigate to the project directory: cd mentora-lms
  3. Install dependencies: npm install
  4. Start the development server: npm run dev

🧑‍💼 Author

👨‍💻 Jakariya H.
MERN Stack Developer | Founder of JCloud Tech
📧 Email: jhalhadi@gmail.com
🌐 Portfolio: www.jakariya.dev


📢 Recruiter’s Note

If you're looking for a developer who can deliver complex, real-world MERN applications with best practices, role management, security, and performance in mind — I’d love to chat!


About

Mentor LMS – A MERN stack learning management system with role-based dashboards for admin, teacher, and student. Features include class management, assignments, JWT auth, Stripe payments, Firebase login, and responsive UI built with React & Tailwind CSS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages