LMS | Learning Management System
A full-stack university Learning Management System that streamlines course management, assignment submission, grading, real-time communication, and academic administration through dedicated dashboards for Admins, Instructors, and Students.







Description
A full-stack Learning Management System (LMS) built to simplify the complete academic workflow of a university environment. The platform is designed around three core user roles—Admin, Instructor, and Student—each with a dedicated dashboard tailored to their responsibilities.
Admins can manage courses, approve enrollments, monitor platform activities, and oversee the entire system. Instructors can create course modules, upload learning resources, publish assignments, evaluate submissions, and provide grades. Students can access enrolled courses, download materials, submit assignments, and track their academic progress from a single dashboard.
Beyond traditional LMS functionality, the platform includes a real-time notification system and an integrated chat module with media sharing support, making communication between students and instructors seamless. Built with Vanilla JavaScript, Node.js, Express.js, MySQL, Cloudinary, and Multer, the application focuses on performance, scalability, and secure data management while delivering a clean and intuitive user experience.
Tech Stack
Programming Languages
Key Features
- Role-Based Access Control (RBAC)
- Admin Dashboard
- Instructor Dashboard
- Student Dashboard
- Course Management
- Student & Course Enrollment Approval
- Assignment Creation & Submission
- Dynamic Grading System
- Learning Resource Management
- Real-Time Notifications
- Global Real-Time Chat
- Secure File Upload & Sharing
- Cloudinary Media Storage
- Multer File Handling
- Academic Progress Tracking
- Authentication & Authorization
- RESTful API Architecture
- Responsive User Interface
My Role
Full Stack Developer
Challenges
Designing a secure Role-Based Access Control (RBAC) system for multiple user types. Managing complex relationships between students, instructors, courses, assignments, and grades in MySQL. Building a real-time notification system that keeps users updated instantly. Implementing a scalable chat system with image and file sharing using Cloudinary. Handling secure file uploads and validation with Multer. Keeping the frontend organized while using Vanilla JavaScript instead of a frontend framework. Maintaining consistent API structure and data flow across different dashboards. Optimizing database queries to ensure smooth performance as data grows.
What I Learned
Designing and developing a complete full-stack application from scratch. Building secure authentication and authorization using Role-Based Access Control. Structuring scalable REST APIs with Node.js and Express.js. Designing relational database schemas and writing efficient SQL queries. Managing file uploads and cloud-based media storage with Multer and Cloudinary. Creating responsive and interactive user interfaces using HTML, CSS, and Vanilla JavaScript. Handling real-world application architecture, debugging, and state management without relying on frontend frameworks. Improving project organization, reusable code practices, and backend scalability.
Open Source Projects
Contribution Activity
—
Contributions
—
Repositories
—
Followers
Top languages by repo
Fetching languages...
Fetching repositories...