System Implementation
The Smart Learning Management System (LMS) was implemented using
the Node.js with Express.js for the backend, and MongoDB Atlas for secure and
scalable data storage. The system follows a modular architecture that allows easy
integration and maintenance of individual features such as user management,
course content, assessments, and AI functionalities.
• User Authentication and Role-Based Access
The authentication module is built using JWT (JSON Web Tokens)
to ensure secure login sessions. During registration, users are assigned the
default role of ‘student’. Role-Based Access Control (RBAC) is applied to
restrict access to protected routes based on user roles such as student,
instructor, or admin. Only authenticated users can access profile and
dashboard functionalities.
• Instructor Role Upgrade Request
Students who wish to become instructors can submit a request via
the Profile page by uploading their resume, teaching sample video, and
providing a description. These details are stored in MongoDB and
manually reviewed by the admin. Once approved, the user's role is updated
to ‘instructor’, enabling them to create and manage courses.
• Course Management
Instructors can add, update, and delete courses using a dedicated
dashboard. They can upload video lectures, study materials (PDFs), and
create quizzes. Students can browse, enroll, and access course content
based on their interests and permissions.
• AI-Powered Recommendations
The LMS uses a hybrid filtering algorithm, combining collaborative
filtering and content-based filtering, to recommend personalized courses to
students. These recommendations are generated based on the learner's past
activity, course interests, and performance.
• Adaptive Assessments and Automated Grading
The assessment module includes AI-driven quizzes with both
multiple-choice and text-based questions. Adaptive assessments use
decision tree algorithms to dynamically adjust difficulty levels based on
student performance. Student answers are automatically evaluated, and
grades are stored in the database.
• Facial Recognition Attendance
To ensure accurate attendance tracking, the system integrates
OpenCV with CNN (Convolutional Neural Networks) for facial
recognition. The webcam captures real-time input, identifies registered
faces, and logs attendance data accordingly.
• Engagement Monitoring
The system monitors real-time student engagement through webcam
analysis. If signs of boredom or low attention are detected, the system may
suggest interactive content or breaks to improve focus and retention.
Demonstration of Two Modules
Module 1: User Authentication and Role Management
The first module allows users to register, log in, and access protected
features based on their role—student, instructor, or admin. New users are
registered with the default ‘student’ role. Once logged in, JWT tokens are used
for secure session handling, and role-based access is enforced across the
application.
Features Demonstrated:
• Registration with default 'student' role
• Login using JWT authentication
• Protected Profile page access
• Role-based UI control
Screenshots:
Figure 1.1: Registration Page
This page allows new users to sign up with their name, email, and password.
Figure 1.2: Login Page
Registered users can securely log in using their credentials.
Figure 1.3: Student Profile Page
Displays user details with limited features for the student role.
Figure 1.4: Unauthorized Access Attempt
Unregistered users or users without permission are redirected or denied access.
Figure 1.4: Database Connectivity
Module 2: Course Management System
The Course Management Module is a central part of the Smart LMS,
focused on enabling students to browse, explore, and personalize their learning
journey by adding courses to their Learning Path. This module supports dynamic
course listings, interactive UI elements for selection, and proper role-based
access. While instructors create and manage content, students interact with the
frontend to build their academic roadmap.
Features Demonstrated:
• Dynamic list/grid view of all available courses
• “Enroll” button for every course
• Visual confirmation message after successful addition
• Access restricted to authenticated student users only
Screenshots:
Figure 2.1: Student Course Browsing Interface
Students can explore the list of all published courses. Each course is presented
with its details including title, description, and instructor name.
Figure 2.2: Enroll Button
A dedicated button for each course allows the student to instantly add it to their
learning path, creating a personalized curriculum.
Figure 2.3: Confirmation Feedback
On clicking the add button, students receive a success message confirming the
course has been added to their learning path.
Figure 2.4: Access Restricted to Authenticated Users
Without logging in, users are not allowed to enroll in courses.