A modern web-based learning platform blending academics with social interactivity β like Instagram but smarter πΈ + π.
Document LIve : https://github.com/Atuloli01/E-learning-Sharing-MS/blob/main/imagesDemo/finalProject01.pdf
- πΉ 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.
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 π‘
- Dual-role access:
Student&Instructor - Course & content management
- Assessment & grading modules
- Scalable, intuitive interface
- Analytics & performance tracking
| 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 |
- OTP-based login and secure password reset
- JWT token handling
- Role-based authorization (
Admin,Student,Instructor)
- Create & manage courses
- Upload lectures, PDFs, assignments
- Assess submissions and grade
- Enroll in courses
- View materials, submit work
- Track progress & get feedback
- Course completion stats
- Student performance graphs
- Admin dashboard for platform insights
- Modular course structure
- Discussion forums (upcoming)
- Real-time notifications
- Certificate generation on course completion
- 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
Main Tables (SQL)
users: ID, name, email, password, rolecourses: ID, title, instructor_idenrollments: course_id, user_id, progressvideos,notes,assignments,results,feedback
MongoDB used optionally for scalability in analytics, dynamic content.
- OS: Windows 7/10 or macOS/Linux
- Tools: XAMPP or WAMP for PHP + MySQL
- Node.js (for advanced backend optional features)
- Browser: Chrome / Firefox
# 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 devA complete Learning Management System built using the MERN stack for seamless course management, student-teacher interaction, and secure content delivery.
- π Live Demo
- β¨ Features
- π οΈ Tech Stack
- π Folder Structure
- βοΈ Getting Started
- π Authentication
- π¦ API Overview
- πΌοΈ Screenshots
- π§© Planned Features
- π€ Contributing
- π¨βπ» Author
- π License
- π¬ Feedback
π Coming Soon
π Click to Expand
- Course creation
- Assignment uploading
- Resource management
- Enrollment in courses
- Submit assignments
- View/download learning materials
- JWT authentication
- Role-based access
- Responsive UI with modern design
- Real-time chat and notifications
| 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 |
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# 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
- π JWT-based login and registration
- π Passwords are hashed securely using
bcrypt - π§βπ€βπ§ Role-based access control:
- Admin
- Instructor
- Student
- π‘οΈ Protected routes via Express middleware
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!
You can add screenshots of your UI by uploading them to the repo and linking them here.
- π· Course Dashboard
- π· Instructor Panel
- π· Student Assignment View
- 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π¨βπ» 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.