Skip to content

smrithipiedy/Learning-Management-System_LMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Learning Management System (LMS)

This project is a full-stack Learning Management System (LMS). It helps organizations manage courses, track student progress, and provide educational materials in a secure and organized way.

The system is built with a focus on ease of use, security, and detailed reporting.

Key Features

  • User Management: Support for multiple roles including Super Admin, Admin, Trainer, and Learner.
  • Course & Enrollment: Tools to create courses and manage student enrollments.
  • Knowledge Base: A library for articles and documents to help students learn.
  • Quizzes: Integrated assessments to test knowledge after completing modules.
  • Certifications: Automated PDF certificate generation for students who finish courses.
  • Reports & Analytics: Visual charts to track course engagement and user activity.
  • Audit Logs: Every administrative action is recorded for security and accountability.
  • Notifications: Automated emails and system alerts for reminders and updates.

Technology Stack

Backend

  • Node.js & Express: Handles the server logic and API requests.
  • MongoDB: A database used to store all user and course information.
  • JWT (JSON Web Tokens): Used for secure user login and session management.
  • Bcrypt: Encrypts user passwords to ensure account security.
  • Nodemailer: Sends automated emails for password resets and system notifications.

Frontend

  • React: Used to build a responsive and modern user interface.
  • Vite: A fast tool for building and running the frontend application.
  • Tailwind CSS: A styling framework used for a clean and consistent design.
  • Recharts: Provides charts and graphs for the reporting dashboard.
  • jsPDF & html2canvas: Tools used to generate downloadable PDF certificates.

Project Structure

  • backend/: Contains the server code, database models, and API routes.
  • lms-frontend/: Contains the React application and user interface components.

Getting Started

Prerequisites

  • Node.js: Install version 16 or higher.
  • MongoDB: You need a running MongoDB instance (local or cloud-based).

Backend Setup

  1. Go to the backend folder:
    cd backend
  2. Install the required packages:
    npm install
  3. Create a .env file in the backend folder with these settings:
    PORT=5000
    MONGO_URI=mongodb://localhost:27017/lms_database
    JWT_SECRET=your_secret_key
    SMTP_HOST=your_smtp_host
    SMTP_PORT=587
    SMTP_USER=your_email
    SMTP_PASS=your_password
  4. Start the server:
    npm start

Frontend Setup

  1. Go to the frontend folder:
    cd lms-frontend
  2. Install the required packages:
    npm install
  3. Start the application:
    npm run dev
    The application will be available at http://localhost:5173.

Default Credentials

The system seeds a default Super Admin account when first started.

  • Email: superadmin@lms.com
  • Password: Admin@123

User Roles

Role Permissions
Super Admin Full control over the entire system, including user deletion.
Admin Manages users, courses, and views system reports.
Trainer Creates courses, manages content, and tracks student progress.
Learner Enrolls in courses, takes quizzes, and earns certificates.

Maintenance & Utility Scripts

The backend includes several scripts for database management and initial setup:

  • seed_questions.js: Populates the database with initial quiz questions.
  • seed_kb_library.js: Sets up the initial knowledge base articles.
  • fix_accounts.js: A utility script to repair or update user accounts.
  • debug_trainer.js: Helps in debugging trainer-specific permissions or data.

To run a script, navigate to the backend folder and use:

node <script_name>.js

Made for the Naan Mudhalvan - IBM Full Stack Development Internship provided by AdroIT Technologies Pvt. Ltd.

About

A full-stack Learning Management System (LMS) featuring role-based access control, course management, automated PDF certifications, and detailed analytics. Built with React, Node.js, and MongoDB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages