Skip to content

About

Full-featured MERN Stack Learning Management System with Admin, Instructor & Student portals.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ SkillForge Learning β€” MERN Stack LMS

A full-featured Learning Management System built with the MERN Stack, featuring role-based access for Admins, Instructors, and Students.

MERN Stack JWT MongoDB License


πŸ“– Project Overview

SkillForge Learning is a comprehensive LMS platform where Admins manage the platform, Instructors create and manage courses with lessons, and Students browse, enroll, and track their learning progress β€” all secured with JWT-based authentication and role-based authorization.


✨ Key Features

πŸ‘‘ Admin Portal

  • Real-time dashboard with user & course analytics
  • View and delete all registered users
  • Full platform oversight and control

πŸ‘¨β€πŸ« Instructor Panel

  • Create, update, and delete courses
  • Upload lessons with titles and detailed content
  • View students enrolled in their courses.

πŸ‘¨β€πŸŽ“ Student Portal

  • Browse and search available courses
  • One-click course enrollment
  • Track learning progress with dynamic progress bars
  • Manage personal profile and account

πŸ› οΈ Tech Stack

Layer Technology
Frontend React.js, React Router, Axios, CSS3
Backend Node.js, Express.js
Database MongoDB, Mongoose ODM
Auth JWT (JSON Web Token), Bcrypt.js
Config Dotenv

πŸ“ Project Structure

skillforge-lms/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ User.js
β”‚   β”‚   β”œβ”€β”€ Course.js
β”‚   β”‚   └── Enrollment.js
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ seed.js
β”‚   β”œβ”€β”€ server.js
β”‚   └── .env
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/
    β”‚   β”œβ”€β”€ pages/
    β”‚   β”œβ”€β”€ services/
    β”‚   └── routes/
    └── package.json

βš™οΈ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/Rajaubaid786/Skillforge-LMS.git
cd Skillforge-LMS

2️⃣ Backend Setup

cd backend
npm install

Create a .env file inside the backend/ folder:

PORT=5000
MONGO_URI=mongodb://localhost:27017/mern-lms
JWT_SECRET=your_super_secret_key

Start the backend server:

npm run dev

3️⃣ Frontend Setup

cd ../frontend
npm install
npm run dev

4️⃣ Seed the Database

Populate the database with sample users, courses, and enrollments:

cd backend
npm run seed

πŸ”‘ Login Credentials (After Seeding)

Role Email Password
πŸ‘‘ Admin admin@lms.com admin123
πŸ‘¨β€πŸ« Instructor ali@lms.com instructor123
πŸ‘¨β€πŸ« Instructor sara@lms.com instructor123
πŸ‘¨β€πŸŽ“ Student bilal@lms.com student123
πŸ‘¨β€πŸŽ“ Student ayesha@lms.com student123
πŸ‘¨β€πŸŽ“ Student usman@lms.com student123
πŸ‘¨β€πŸŽ“ Student zara@lms.com student123
πŸ‘¨β€πŸŽ“ Student hamza@lms.com student123

πŸ“Έ Screenshots

🌐 Public Pages

Home About Courses Reviews Footer

πŸ” Authentication

Login Register

πŸ‘‘ Admin Portal

Admin Dashboard Admin Users Admin Courses

πŸ‘¨β€πŸ« Instructor Portal

Instructor Dashboard Instructor Courses

πŸ‘¨β€πŸŽ“ Student Portal

Student Dashboard Student Courses Student Profile Course Content

πŸ”Œ API Endpoints

Auth

Method Endpoint Description
POST /api/auth/register Register a new user
POST /api/auth/login Login and get JWT token

Courses

Method Endpoint Description
GET /api/courses Get all courses
POST /api/courses Create a course (Instructor)
PUT /api/courses/:id Update a course (Instructor)
DELETE /api/courses/:id Delete a course (Instructor/Admin)

Users

Method Endpoint Description
GET /api/users Get all users (Admin)
DELETE /api/users/:id Delete a user (Admin)

Enrollment

Method Endpoint Description
POST /api/enroll Enroll in a course (Student)
GET /api/my-courses Get enrolled courses (Student)

πŸ—„οΈ Database Models

User

{ name, email, password, role: ['Admin', 'Instructor', 'Student'] }

Course

{ title, description, instructor (ref), category, price, seats, lessons: [{ title, content }] }

Enrollment

{ student (ref), course (ref), progress }

πŸ“Š Marking Criteria Coverage

Criteria Status
UI/UX Design βœ…
React Implementation βœ…
Backend API Development βœ…
Database Design βœ…
Authentication & Security βœ…
Role-Based Functionality βœ…
Code Quality & Structure βœ…
Deployment & Testing βœ…

πŸ‘¨β€πŸ’» Developer Info

  • Developer: Muhammad Ubaid
  • Project Type: MERN Stack Final Project β€” Full Stack LMS
  • Course: MERN Stack Web Development

Β© 2026 SkillForge Learning β€” Built with ❀️ by Muhammad Ubaid

About

Full-featured MERN Stack Learning Management System with Admin, Instructor & Student portals.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages