Skip to content

Atuloli01/E-learning-Sharing-MS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š E-Learning & Sharing Management System (ELMS-AI)

A modern web-based learning platform blending academics with social interactivity β€” like Instagram but smarter πŸ“Έ + πŸ“–.

MIT License Status Made with ❀️


πŸš€ Overview

Document LIve : https://github.com/Atuloli01/E-learning-Sharing-MS/blob/main/imagesDemo/finalProject01.pdf

ELMS-AI is a full-stack Learning Management System for students and instructors with features like:

  • πŸ“Ή Video lectures & PDF resources
  • πŸ“ Quizzes, Assignments, and Feedback
  • πŸ“Š Performance tracking dashboards
  • πŸ”’ OTP-secured login and role-based access
  • πŸ’¬ Social features (soon!)

This is education, upgraded. Tailored for small to medium institutions and independent educators.


🧠 Motivation

After the pandemic, remote learning became a necessity, not an option. ELMS-AI is built to address:

  • Accessibility from anywhere 🌍
  • Secure, engaging experiences πŸ”
  • Blended learning with social interactivity πŸ’‘

🎯 Objectives

  • Dual-role access: Student & Instructor
  • Course & content management
  • Assessment & grading modules
  • Scalable, intuitive interface
  • Analytics & performance tracking

🧰 Tech Stack

Layer Tech
🌐 Frontend React.js, Tailwind CSS, HTML, CSS, JavaScript
βš™οΈ Backend PHP (primary), Node.js, Express.js, Python (Django)
πŸ’Ύ Database MySQL (Relational), MongoDB (NoSQL optional)
πŸ” Auth OTP Verification, JWT Tokens
🧠 State Mgmt Redux / Context API

πŸ§ͺ Features

πŸ” Authentication & Roles

  • OTP-based login and secure password reset
  • JWT token handling
  • Role-based authorization (Admin, Student, Instructor)

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

  • Create & manage courses
  • Upload lectures, PDFs, assignments
  • Assess submissions and grade

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

  • Enroll in courses
  • View materials, submit work
  • Track progress & get feedback

πŸ“Š Analytics & Reporting

  • Course completion stats
  • Student performance graphs
  • Admin dashboard for platform insights

πŸ›  Extras

  • Modular course structure
  • Discussion forums (upcoming)
  • Real-time notifications
  • Certificate generation on course completion

πŸ—οΈ System Design

  • Architecture: Traditional 3-tier (Frontend, Backend, DB)
  • SDLC Model: Waterfall (perfect for well-scoped academic projects)
  • Diagrams: ER Model, DFDs (Level 0 and 1), Sequence & Activity Diagrams

🧾 Database Schema

Main Tables (SQL)

  • users: ID, name, email, password, role
  • courses: ID, title, instructor_id
  • enrollments: course_id, user_id, progress
  • videos, notes, assignments, results, feedback

MongoDB used optionally for scalability in analytics, dynamic content.


πŸ› οΈ Local Setup Guide

πŸ’Ύ Requirements

  • OS: Windows 7/10 or macOS/Linux
  • Tools: XAMPP or WAMP for PHP + MySQL
  • Node.js (for advanced backend optional features)
  • Browser: Chrome / Firefox

πŸ”§ Installation Steps

βœ… Using PHP (XAMPP)

# Clone the repository
git clone https://github.com/Atuloli01/LMS-final-Year-project.git

# Move into the project directory
cd LMS-final-Year-project

# Add a .env file with necessary keys
# (You can use a text editor like nano or VS Code to create it)

# Open two terminal tabs and run the following in each:

# In the first terminal
cd client/
npm run dev

# In the second terminal
cd server/
npm run dev

Enjoy the Project :

----- ------

Documentation:

# πŸŽ“ MERN Stack Learning Management System (LMS)

MIT License Issues Forks Stars

A complete Learning Management System built using the MERN stack for seamless course management, student-teacher interaction, and secure content delivery.


πŸ“š Table of Contents


🌐 Live Demo

πŸš€ Coming Soon


✨ Features

πŸ” Click to Expand

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

  • Course creation
  • Assignment uploading
  • Resource management

πŸŽ“ Student Features

  • Enrollment in courses
  • Submit assignments
  • View/download learning materials

πŸ”’ Security & UX

  • JWT authentication
  • Role-based access
  • Responsive UI with modern design
  • Real-time chat and notifications

πŸ› οΈ Tech Stack

Type Technologies
Frontend React.js, Tailwind CSS, Axios
Backend Node.js, Express.js
Database MongoDB, Mongoose
Auth JWT, bcrypt
Realtime Socket.io
Storage Cloudinary
Dev Tools Concurrently, Nodemon, ESLint

πŸ“ Folder Structure

LMS-final-Year-project/
β”œβ”€β”€ client/                 # Frontend (React)
β”‚   β”œβ”€β”€ public/
β”‚   └── src/
β”‚       β”œβ”€β”€ components/     # Reusable components
β”‚       β”œβ”€β”€ pages/          # Route-based components
β”‚       β”œβ”€β”€ context/        # Auth/context providers
β”‚       └── utils/          # Axios, validators, etc.
β”‚
β”œβ”€β”€ server/                 # Backend (Node + Express)
β”‚   β”œβ”€β”€ controllers/        # Logic for routes
β”‚   β”œβ”€β”€ routes/             # API endpoints
β”‚   β”œβ”€β”€ models/             # Mongoose schemas
β”‚   β”œβ”€β”€ middleware/         # Auth middleware
β”‚   └── config/             # DB connection & config
β”‚
β”œβ”€β”€ .env                    # Environment config (not committed)
β”œβ”€β”€ package.json            # Root config for scripts
β”œβ”€β”€ README.md               # You’re here

βš™οΈ Getting Started 1️⃣ Clone the Repository

git clone https://github.com/Atuloli01/LMS-final-Year-project.git
cd LMS-final-Year-project
2️⃣ Setup Environment Variables Create a .env file in server/ with:
``` bash PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret CLOUDINARY_CLOUD_NAME=your_name CLOUDINARY_API_KEY=your_key CLOUDINARY_API_SECRET=your_secret ``` 3️⃣ Install Dependencies ``` bash

Frontend

# Backend
cd server
npm install

cd client
npm install
4️⃣ Run the App
Use 2 terminals:

# Terminal 1
cd server
npm run dev

# Terminal 2
cd client
npm run dev

πŸ” Authentication

  • πŸ” JWT-based login and registration
  • πŸ”’ Passwords are hashed securely using bcrypt
  • πŸ§‘β€πŸ€β€πŸ§‘ Role-based access control:
    • Admin
    • Instructor
    • Student
  • πŸ›‘οΈ Protected routes via Express middleware

πŸ“¦ API Overview

The LMS backend provides a comprehensive set of RESTful APIs for:

  • βœ… User registration & login
  • βœ… Course creation, enrollment, and module management
  • βœ… Assignment uploads and student submissions
  • βœ… Real-time chat & messaging functionality
  • βœ… Secure file uploads using Cloudinary

πŸ“Œ Postman collection & Swagger docs coming soon!


πŸ–ΌοΈ Screenshots

You can add screenshots of your UI by uploading them to the repo and linking them here.

  • πŸ“· Course Dashboard
  • πŸ“· Instructor Panel
  • πŸ“· Student Assignment View

🧩 Planned Features

  • Instructor dashboard with metrics and management tools
  • File uploads (videos, PDFs, docs, etc.)
  • Real-time notifications and announcements
  • Integration with Stripe or Razorpay for paid courses
  • Progressive Web App (PWA) compatibility for mobile access

🀝 Contributing

# 1. Fork this repo
# 2. Create a new branch
git checkout -b feature/your-feature

# 3. Make your changes
# 4. Push to GitHub
git push origin feature/your-feature

5. Create a Pull Request

πŸ‘¨β€πŸ’» Author Atuloli01 πŸ”— GitHub: Atuloli01

πŸ“„ License This project is licensed under the MIT License.

πŸ’¬ Feedback Have suggestions or bugs? Please open an issue or contact me directly.

Releases

No releases published

Packages

 
 
 

Contributors

Languages