Check Doc
Check Doc
INTRODUCTION
In the era of digital education, e-learning platforms have become essential tools for
delivering structured and interactive learning experiences. The increasing demand for
accessible, efficient, and user-friendly educational platforms has driven the development of
comprehensive dashboard systems for administrators, tutors, and students. During my
internship, I contributed to the development of an E-Learning Platform comprising an Admin
Dashboard, Tutor Dashboard, and Student Dashboard, each designed to streamline
educational management and enhance user experience.
The Admin Dashboard serves as the central control hub for the platform, allowing
administrators to manage users, courses, and overall platform settings. It provides real-time
analytics, including student performance metrics, course engagement statistics, and resource
utilization. Administrators can monitor platform activity, approve tutor courses, generate
reports, and ensure smooth functioning of the e-learning environment.
The Tutor Dashboard was developed to empower instructors with an organized
interface for course management, student monitoring, and session scheduling. Tutors can
create or upload courses, track student progress using visual analytics such as heatmaps, pie
charts, and bar charts, and interact with students through dedicated communication modules.
The dashboard enables tutors to gain insights into learning patterns, identify weak areas, and
adjust teaching strategies effectively, ensuring a data-driven approach to education.
The Student Dashboard provides learners with a personalized interface to access
enrolled courses, view course progress, submit assignments, and participate in interactive
sessions. Students can track their performance, review learning materials, and receive real-
time updates from tutors. By presenting clear progress indicators and engaging content, the
dashboard encourages active learning and helps students manage their academic journey
efficiently.
The development process involved stages such as requirement analysis, UI/UX
design, coding, testing, and deployment. The focus was on creating modular, reusable
components using React and TypeScript, ensuring maintainability and scalability. Tailwind
CSS was 13 used to design a responsive and visually appealing interface that adapts
seamlessly across devices.
In recent years, e-learning has become an essential part of modern education due to
the rapid growth of digital technologies and internet accessibility. Traditional learning
methods are gradually being replaced or enhanced by online platforms that offer flexibility,
accessibility, and personalized learning experiences. However, managing online education
effectively requires a well-organized system that can handle users, courses, and performance
tracking efficiently.
1.1General Overview
The E-Learning Dashboard System is a web-based application
designed to enhance the management and delivery of online education. It
provides a centralized platform that connects administrators, students,
and tutors, enabling efficient communication and seamless learning
experiences.
The system is divided into three main components: Admin Dashboard, Student
Dashboard, and Tutor Dashboard. Each module is designed to perform specific functions.
The Admin Dashboard focuses on monitoring system performance through analytics and
reports. The Student Dashboard provides access to courses, progress tracking, and learning
resources. The Tutor Dashboard enables instructors to create, manage, and evaluate courses.
Additionally, the system incorporates data visualization techniques such as charts,
graphs, and heat maps to provide meaningful insights into user activity and performance.
This helps in making informed decisions and improving the overall learning process.
Overall, the E-Learning Dashboard System offers a scalable, user-friendly, and
efficient solution for managing digital learning environments, making it suitable for
educational institutions and online learning platforms.
1.2. Objectives
1. To Develop a Centralized Platform
Create a unified system for managing Admin, Student, and Tutor activities.
2. To Enhance Learning Experience
Provide an interactive and user-friendly environment for students to access courses
and track progress.
3. To Enable Efficient Course Management
Allow tutors to create, update, and manage courses easily.
4. To Provide Real-Time Analytics
Offer dashboards with charts and reports for monitoring users, enrollments, and
performance.
5. To Improve Decision-Making
Help administrators make informed decisions using data visualization and insights.
6. To Ensure Secure Access
Implement authentication and role-based access control for system security.
7. To Support Scalability
Design the system to handle a growing number of users and courses.
1.3. Overview of the Project
1.4Module Description:
Admin Dashboard:
Dashboard Overview:
Provides key analytics including total courses, total tutors, total students, platform
revenue, and average course ratings.
User Management:
Allows administrators to manage tutor and student accounts, approve course content,
and monitor platform activity.
Course Management:
Enables monitoring and moderation of all courses on the platform.
Reports & Analytics:
Offers visual insights through charts, graphs, and tables for student performance,
course engagement, and financial statistics.
Navigation Panel:
Quick access to Users, Courses, Reports, Payments, and Settings.
User Interface:
Designed to be intuitive, responsive, and easy to navigate.
Tutor Dashboard:
Dashboard Overview:
Displays analytics such as total courses created, enrolled students, average ratings,
and revenue generated by the tutor.
Course Management:
Tutors can create, publish, edit, and manage multiple courses from a single interface.
Student Tracking:
Enables monitoring of enrolled students, progress tracking, and communication
management.
Session Management:
Facilitates scheduling and managing interactive sessions with learners.
Communication Section:
Messaging options for smooth tutor-student interactions.
Analytics Integration:
Visual representation of student performance and engagement using bar charts, pie
charts, and heatmaps.
Navigation Panel:
Sidebar for quick access to Courses, Students, Sessions, Messages, Payments, and
Settings.
User Interface:
Clean and responsive design for usability and smooth experience.
Student Dashboard:
Dashboard Overview:
Shows enrolled courses, upcoming sessions, course progress, and overall
performance metrics.
Course Access:
Students can view course content, complete lessons, and download study materials.
Progress Tracking:
Provides detailed insights into completed modules, assessments, and grades.
Session Schedule:
Displays upcoming live sessions and enables joining directly from the dashboard.
Communication Section:
Messaging options to interact with tutors and receive updates.
Notifications & Alerts:
Keeps students informed about deadlines, new courses, and announcements
User Interface: Responsive, easy-to-use design for a seamless learning experience.
CHAPTER 2
LITERATURE SURVEY
The growth of e-learning systems has significantly transformed the education
sector by enabling flexible and accessible learning environments. Various
researchers and platforms have contributed to the advancement of online
education technologies.
Traditional Learning Management Systems (LMS) such as Moodle and
Blackboard provided foundational features like course management, content
delivery, and online assessments. However, these systems lacked advanced
analytics and interactive dashboards for performance tracking [1].
Modern platforms such as Coursera, Udemy, and edX have enhanced the
learning experience by integrating multimedia content, certification programs,
and user-friendly interfaces. These systems improved accessibility and
engagement among learners [2], [3].
Recent studies highlight the importance of learning analytics in e-learning
systems. Dashboards and visualization tools help track student performance,
engagement, and course effectiveness, enabling data-driven decision-making
[4].
Furthermore, the integration of Artificial Intelligence (AI) and Machine
Learning (ML) has enabled personalized learning experiences. These
technologies support adaptive learning paths and recommendation systems
based on user behavior [5].
Despite these advancements, many systems still face limitations such as lack of
real-time insights, limited customization, and insufficient integration between
user roles. The proposed E-Learning Dashboard System addresses these issues
by incorporating analytics, interactive dashboards, and role-based
functionalities.
CHAPTER 3
SYSTEM CONFIGURATION
System Configuration
The E-Learning Dashboard System requires both hardware and software components to
function efficiently. The configuration ensures smooth performance, scalability, and user
accessibility.
1. Frontend Software
The frontend is responsible for the user interface and user experience.
HTML5: Used to structure web pages
CSS3: Used for styling and layout design
JavaScript: Adds interactivity and dynamic behaviour
[Link]: Used for building reusable UI components and managing application state
2. Backend Software
The backend handles business logic, data processing, and communication between frontend
and database.
[Link]: Server-side runtime environment
[Link]: Framework used to build APIs and handle requests
3. Database Software
The database is used to store and manage all application data.
MySQL: Relational database for structured data
or
MongoDB: NoSQL database for flexible and scalable data storage
4. Visualization Tools
Used to display data in graphical formats.
[Link] / Recharts: For creating charts like line graphs, pie charts, and bar charts
Used in Admin Dashboard for analytics
5. Development Tools
Visual Studio Code: Code editor for development
Git & GitHub: Version control and project management
Web Browsers (Chrome, Edge): Testing and debugging
6. Supporting Technologies
REST APIs: For communication between frontend and backend
JSON: Data exchange format
Responsive Design: Ensures compatibility across devices
3.6 Advantages
1. Centralized Management
Combines Admin, Student, and Tutor functionalities in one platform
Easy management of users, courses, and data
2. User-Friendly Interface
Simple and interactive dashboards
Easy navigation for all types of users
3. Real-Time Analytics
Provides live data on users, enrolments, and performance
Helps in better decision-making for administrators
6. Data Visualization
Use of charts, graphs, and heat maps
Simplifies understanding of complex data
7. Scalability
Can handle increasing number of users and courses
Easily extendable with new features
8. Timesaving
Reduces manual work for administrators and tutors
Automates processes like enrolment and progress tracking
9. Accessibility
Accessible anytime and anywhere through web browsers
Supports remote learning
3.7. Disadvantages
1. Dependence on Internet
Requires a stable internet connection for proper functioning.
2. Initial Development Cost
Time and effort required to design and develop the system.
3. Security Risks
Sensitive user data may be vulnerable if not properly secured.
4. Technical Issues
Bugs or server downtime may affect system performance.
5. Learning Curve
New users may take time to understand the system features.
6. Limited Personal Interaction
Reduced face-to-face communication compared to traditional learning.
ReactJS is a powerful frontend library used to build dynamic and interactive web
applications. In the Tutor Dashboard project, ReactJS serves as the foundation of the
frontend, allowing the interface to be modular, responsive, and user- friendly. The dashboard
is structured using components, which are the building blocks of the application. Each
component is responsible for rendering a specific section of the dashboard. For example, one
component displays the tutor details, another handles the list of courses, and yet another
manages the sidebar and navigation menu. This component-based architecture ensures that
each part of the dashboard is independent, reusable, and easier to maintain.
ReactJS uses a state-driven approach to manage the information displayed on the
dashboard. The state represents the current status of the application, such as the selected tutor,
active courses, or student progress. When a user interacts with the dashboard—for instance,
by clicking on a tutor or marking a lesson complete—the state updates accordingly, and the
interface reflects the change immediately.
This real-time interactivity improves the user experience and allows tutors to manage
their classes efficiently without unnecessary page reloads. Data is passed between
components using props, which allow parent components to send information to their child
components. For instance, the dashboard can pass a list of tutors to individual components
that display their details.
This ensures a clear flow of information and maintains the modularity of the
application. ReactJS also follows an event-driven programming model, where user actions
trigger specific responses in the interface. Events such as selecting a course, submitting
grades, or navigating between dashboard sections are handled seamlessly, creating an
interactive and responsive user experience.
To enhance performance, ReactJS uses a Virtual DOM, which updates only the parts
of the interface that change, rather than reloading the entire page. This ensures that the Tutor
Dashboard is fast, efficient, and capable of handling multiple interactive components
simultaneously, such as displaying student progress, tutor schedules, and course content.
The dashboard communicates with the backend through API calls, allowing it to fetch
data such as tutor profiles, course lists, and student progress. ReactJS handles these
interactions efficiently, ensuring that the application always displays the most current
information. This approach allows the dashboard to be scalable, responsive, and highly
interactive, providing a smooth experience for tutors managing multiple courses and students.
3.9.2. TypeScript
TypeScript is a superset of JavaScript that adds static typing and other advanced
features to the language. In the Tutor Dashboard project, TypeScript is used alongside
ReactJS to ensure robust, maintainable, and error-free code. It helps developers catch
mistakes during development, rather than at runtime, improving the overall reliability of the
application.
In a Tutor Dashboard, data is constantly flowing between components. Tutors,
courses, and student information need to be displayed accurately and consistently across
multiple sections of the dashboard.
TypeScript allows developers to define types and interfaces for all the data structures
used in the application. For example, a tutor object may include properties such as name,
email, subject, and courses assigned.
Defining these structures ensures that all components receive and handle data
correctly, minimizing errors during updates or modifications. 18 TypeScript also provides
strong typing for component props and state in ReactJS.
This means that when data is passed from a parent component to a child component,
TypeScript verifies that the data is in the correct format, reducing potential bugs and
improving code clarity. For instance, when a tutor’s profile is passed to a component that
displays their details, TypeScript ensures that all required fields, such as name and subject,
are present and properly formatted.
Another important feature of TypeScript is type inference, which allows the system to
automatically detect the type of variables or function returns based on their values. This
feature reduces the need for repetitive code while still providing the benefits of strong typing.
Combined with strict type checking, it helps maintain a consistent data structure throughout
the Tutor Dashboard.
In addition, TypeScript supports object-oriented programming concepts, such as
classes, interfaces, and inheritance. These features allow the dashboard to implement reusable
components, manage complex data models, and extend functionality in a structured way. For
example, different user roles, such as tutors and administrators, can have shared properties
while also maintaining role-specific data and functionality.
TypeScript also improves the scalability of the Tutor Dashboard. As the project grows
and more features are added, such as reporting tools, student analytics, and notifications,
TypeScript helps manage the complexity of the code.
It provides developers with better documentation, autocomplete features, and
intelligent error detection in the development environment, making the project easier to
maintain over time.
3.9.3 JavaScript – Role in ReactJS and Tutor Dashboard
Tailwind CSS is a utility-first CSS framework that provides a set of predefined classes to
style web applications quickly and consistently. Unlike traditional CSS, where developers
write custom styles for each element, Tailwind allows the use of small, reusable utility classes
to control spacing, colors, typography, layout, and responsiveness.
In the Tutor Dashboard project, Tailwind CSS is used to create a clean, responsive, and
visually appealing interface. The dashboard includes various UI elements such as navigation
bars, tutor cards, course lists, progress indicators, and buttons. Tailwind makes it easy to
apply consistent styling across all these elements without writing repetitive CSS code.
1. Utility-First Approach:
Tailwind provides classes like p-4 for padding, bg-blue-500 for background color,
rounded-lg for border radius, and text-lg for font size. These classes allow developers to style
components directly in the markup, which speeds up development and ensures consistency
throughout the dashboard.
2. Responsive Design:
Tailwind makes it easy to build interfaces that work on different screen sizes. For
example, the dashboard sidebar can collapse on smaller screens, and the layout of tutor and
course cards can adjust automatically. Classes such as sm:, md:, and lg: help define how
elements behave on mobile, tablet, and desktop devices.
3. Rapid Prototyping:
With Tailwind, developers can quickly design the dashboard layout and apply visual
styling without switching between CSS files. This allows faster iteration during the internship
project, especially when testing the placement of components such as tutor lists, student
progress tables, or dashboard notifications. 21
CHAPTER 4
FEASIBILITY REPORT
Feasibility Report
The feasibility study evaluates the practicality and effectiveness of the proposed E-
Learning Dashboard System. It analyses whether the system can be successfully developed
and implemented within the given constraints.
CHAPTER 5
SYSTEM ANALYSIS
Key Improvements:
Real-time analytics and visual dashboards
Role-based access (Admin, Student, Tutor)
Interactive and user-friendly interface
Efficient course and user management
Progress tracking and performance monitoring
B. Non-Functional Requirements
Performance: Fast loading and responsiveness
Security: Authentication and data protection
Scalability: Ability to handle more users and courses
Usability: Easy-to-use interface
Reliability: Consistent system performance
CHAPTER 6
SYSTEM DESIGN
System Design
System Design defines the architecture, components, interfaces, and data flow of the
E-Learning Dashboard System. It provides a blueprint for implementing the system
efficiently.
1. Users Layer
Includes Admin, Student, and Tutor
Users interact with the system through the interface
Each user has different roles and permissions
o Dashboard UI
o Course Management
o Assignment Submission
o Business Logic
o Course details
o Assignments
o Messages
5. External Services
Integrated with:
o Zoom / Google Meet → Live classes
o AI Chatbot → Support
6. System Flow
1. User logs in
2. Access dashboard
3. Browse or manage courses
4. Attend classes / submit assignments
B. Student Module
Course browsing and enrolment
Progress tracking and learning path
Access to materials, certificates, and live sessions
C. Tutor Module
Course creation and management
Upload content and assignments
Monitor student performance
Relationships:
One user can enrol in multiple courses
One course can have multiple students
Tutors manage multiple courses 4. ER Model (Conceptual)
Users ↔ Enrollments ↔ Courses
Courses → Certificates
Tutors (Users) → Courses
5. Database Operations
Insert: Add new users, courses, enrollments
Update: Modify course details, progress
Delete: Remove users or courses
Select: Retrieve data for dashboards and reports
CHAPTER 7
SYSTEM IMPLEMENTATION
The implementation of the E-Learning Dashboard System is carried
out using modern web technologies to ensure efficiency, scalability, and
user-friendly interaction. The system is developed based on a client-server
architecture, where the frontend, backend, and database components
work together to provide seamless functionality.
The frontend of the system is developed using HTML, CSS, JavaScript, and [Link].
React enables the creation of reusable components and dynamic user interfaces for Admin,
Student, and Tutor dashboards. The interface is designed to be responsive and interactive,
providing features such as course browsing, progress tracking, and data visualization through
charts and graphs.
The backend is implemented using [Link] and [Link], which handle the business
logic, API requests, and communication between the frontend and the database. The backend
is responsible for user authentication, course management, enrolment processing, and
analytics generation.
A centralized database system, such as MySQL or MongoDB, is used to store and
manage data related to users, courses, enrolments, and certificates. Proper data structures and
relationships are maintained to ensure data integrity and efficient retrieval.
System Implementation refers to the process of converting the system design into a
working application. The E-Learning Dashboard System is implemented using modern web
technologies to ensure efficiency, scalability, and a user-friendly experience.
return
<div>
<h1>{[Link]}</h1>
<p>Progress:{progress}%</p>
</div>
)
}
Key Functions:
User authentication and authorization
API development for communication
Course and enrolment management
Data processing for analytics
Functions:
Store user and course details
Track progress and activities
Retrieve data for dashboards
7.5. Integration
Frontend communicates with backend using REST APIs
Backend interacts with the database
Data is dynamically updated and displayed in dashboards
7.7. Deployment
Application is hosted on a web server
Accessible through web browsers
Supports multiple users simultaneously
CHAPTER 8
SYSTEM TESTING
System testing is an essential phase in the software development life cycle used to
evaluate the E-Learning Dashboard System as a complete and integrated application. The
purpose of system testing is to verify that all modules operate correctly and satisfy both
functional and non-functional requirements.
Initially, unit testing is performed on individual modules such as user authentication,
course management, enrollment processing, and progress tracking. Each component is tested
separately to identify coding errors and ensure expected outputs.
Following unit testing, integration testing is conducted to verify the interaction
between connected modules. For instance, when a student enrolls in a course, the
corresponding data should be updated in the student dashboard, tutor records, and
administrative reports.
The complete application is then evaluated through system testing, where all modules
are tested together in a real-time environment. This includes validation of dashboard
functions, navigation, report generation, data updates, and overall workflow.
Performance testing is carried out to analyze system speed, responsiveness, and
stability under different workloads. The application must maintain efficiency when accessed
by multiple users simultaneously.
Security testing is also performed to verify authentication, authorization, and data
protection mechanisms. It ensures protection against unauthorized access, invalid inputs, and
common cyber threats.
Finally, User Acceptance Testing (UAT) is conducted by end-users such as
administrators, tutors, and students to confirm that the system fulfills user expectations and
project objectives.
The final testing results show that the E-Learning Dashboard System is reliable,
secure, efficient, and ready for deployment in a real-world educational environment.
Ensure Security
Verify authentication, authorization, and data protection mechanisms.
B. Integration Testing
Tests interaction between modules
Example: Student enrolment updating Admin analytics
C. System Testing
Tests the complete system as a whole
Ensures all features work together properly
E. Performance Testing
Checks system speed and responsiveness
Ensures smooth performance with multiple users
F. Security Testing
Verifies authentication and authorization
Ensures data privacy and protection
In the E-Learning Dashboard System, dashboard updates are important for displaying
current data related to users, enrollments, course progress, and system performance.
Whenever a student enrolls in a course, completes a lesson, or submits an assignment, the
dashboard reflects these changes immediately.
The update process begins when user actions generate new data. This data is sent to
the backend server through APIs, where it is processed and stored in the database. After
processing, the latest information is returned to the frontend interface.
Modern techniques such as AJAX, REST APIs, WebSockets, and React state
management are used to update dashboard components dynamically. These technologies
allow charts, cards, tables, and notifications to refresh automatically without reloading the
entire webpage.
For example, the Admin Dashboard can instantly show updated active learners, new
enrollments, and satisfaction ratings. The Student Dashboard can display recent progress,
completed courses, and notifications. The Tutor Dashboard can update student submissions,
attendance, and course statistics.
Web dashboard updates improve user experience by providing accurate and timely
information. They also support better monitoring, faster decision-making, and efficient
system management.
In conclusion, web dashboard updates are essential for maintaining an interactive,
responsive, and real-time E-Learning Dashboard System.
The E-Learning Dashboard System provides a robust foundation for online education;
however, several enhancements can be incorporated in the future to improve system
functionality, scalability, and user experience.
One of the major enhancements includes the integration of Artificial Intelligence
(AI) and Machine Learning (ML) techniques to provide personalized course
recommendations and adaptive learning paths based on user behaviour and performance. This
will enhance the overall learning experience.
The development of mobile applications for Android and iOS platforms can further
improve accessibility, allowing users to access the system anytime and anywhere.
Additionally, implementing offline learning capabilities will enable users to download
course materials and access them without an internet connection.
Advanced data analytics and predictive modelling can be incorporated to forecast
student performance and identify learning patterns. This will assist administrators and tutors
in making data-driven decisions.
The system can also be enhanced by adding real-time communication features such
as chat systems, discussion forums, and live interactive sessions to improve collaboration
between students and tutors.
From a security perspective, implementing advanced authentication mechanisms
such as two-factor authentication (2FA) and improving data encryption techniques will
strengthen system security.
Furthermore, integrating the system with cloud platforms like AWS, Azure, or
Google Cloud can improve scalability, reliability, and storage capabilities. Support for multi-
language interfaces can also be added to make the system accessible to a wider audience.
In conclusion, these future enhancements will transform the system into a more
intelligent, secure, and scalable e-learning platform, capable of meeting the evolving needs of
modern education.
.
10.1. AI-Based Personalization
Implement Artificial Intelligence to recommend courses based on user interests and
learning history
Provide adaptive learning paths tailored to individual performance
10.5. Gamification
Introduce badges, leaderboards, and rewards
Increase student engagement and motivation
return (
<div>
<h1>{course. Title}</h1>
<p>Progress: {progress}%</p>
</div>
)
}
11.2. Course Data Structure
cost courses = [
{
id: "html-CSS-essentials",
title: "HTML & CSS Essentials",
students: 156,
duration: "8 hours",
rating: 4.8
}
]
11.3. Basic Login Pseudocode
BEGIN
INPUT username, password
IF valid THEN
REDIRECT to dashboard
ELSE
SHOW error message
END
B. Tools and Technologies Used
HTML, CSS, JavaScript
[Link]
[Link] / [Link]
MySQL / MongoDB
[Link]
C. Screenshots (Reference)
Admin Dashboard with analytics
Student Dashboard with course progress
Tutor Dashboard with course management
D. Abbreviations
UI – User Interface
API – Application Programming Interface
DB – Database
UAT – User Acceptance Testing
E. Additional Notes
The system is designed using a modular approach
Data is stored in a centralized database
Dashboards provide real-time insights
11.4. SOURCE CODE
Admin Main:
!-- Main Content -->
<main class="flex-1 overflow-y-auto p-4 md:p-8">
<div id="dashboard-content" class="space-y-8">
<!-- Data Loading Spinner -->
<div id="loading-spinner" class="flex justify-centre items-centre py-20">
<div class="spinner"></div>
</div>
<!-- 1. User & Enrolment Analytics Section -->
<section id="analytics" class="dashboard-section hidden">
<h1 class="text-3xl font-bold mb-6">User & Enrolment Analytics</h1>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<!-- Total Users Card -->
<a her="[Link]" class="block w-full h-full">
<div class="card bg-white p-6 rounded-2xl shadow-md border bordergray-200">
<p class="text-sm font-semibold text-gray-500 mb-1">Total
Users</p>
<h2 id="total-users" class="text-3xl font-bold text-gray-900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">+1.2%
this month</span>
</div>
</a>
<!-- Active Users Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Active
Learners</p>
<h2 id="active-learners" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-gray-500 font-medium text-sm mt-2 block">vs 15,500
last month</span>
</div>
<!-- Course Enrolments Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Total
Enrolments</p>
<h2 id="total-enrolments" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">+8.5%
this month</span>
</div>
<!-- Avg Completion Rate Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Learner
Satisfaction</p>
<h2 id="satisfaction-rating" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">Based
on 12k reviews</span>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
<!-- Enrolment Trend Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<h2 class="text-xl font-semibold mb-4">New User Enrolments (Last 6
Months )</h2>
<div class="chart-container" style="height: 300px;">
<canvas id="enrolment Chart"></canvas>
</div>
</div>
<!-- User Role Distribution Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<h2 class="text-xl font-semibold mb-4">User Role Distribution</h2>
<div class="chart-container" style="height: 300px;">
<canvas id="roles Chart"></canvas>
</div>
</div>
<!-- User Journey Funnel Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200 lg:col-span-
2">
<h2 class="text-xl font-semibold mb-4">User Acquisition Funnel</h2>
<div class="chart-container" style="height: 400px;">
<div class="controls">
<select id="time Range">
<option value="This Week" selected>This Week</option>
<option value="This Month">This Month</option>
<option value="This year">This year</option>
</select>
</div>
<canvas id="funnel Chart"></canvas>
</div>
</div>
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200 lg:col-span-
2">
<h2 class="text-xl font-semibold mb-4">Activity Heat Map</h2>
<!-- 1. User & Enrolment Analytics Section -->
<section id="analytics" class="dashboard-section hidden">
<h1 class="text-3xl font-bold mb-6">User & Enrolment Analytics</h1>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
<!-- Total Users Card -->
<a her="[Link]" class="block w-full h-full">
<div class="card bg-white p-6 rounded-2xl shadow-md border bordergray-200">
<p class="text-sm font-semibold text-gray-500 mb-1">Total
Users</p>
<h2 id="total-users" class="text-3xl font-bold text-gray-900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">+1.2%
this month</span>
</div>
</a>
<!-- Active Users Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Active
Learners</p>
<h2 id="active-learners" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-gray-500 font-medium text-sm mt-2 block">vs 15,500
last month</span>
</div>
<!-- Course Enrolments Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Total
Enrolments</p>
<h2 id="total-enrolments" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">+8.5%
this month</span>
</div>
<!-- Avg Completion Rate Card -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<p class="text-sm font-semibold text-gray-500 mb-1">Learner
Satisfaction</p>
<h2 id="satisfaction-rating" class="text-3xl font-bold text-gray900">...</h2>
<span class="text-green-500 font-medium text-sm mt-2 block">Based
on 12k reviews</span>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
<!-- Enrolment Trend Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<h2 class="text-xl font-semibold mb-4">New User Enrolments (Last 6
Months )</h2>
<div class="chart-container" style="height: 300px;">
<canvas id="enrolment Chart"></canvas>
</div>
</div>
<!-- User Role Distribution Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200">
<h2 class="text-xl font-semibold mb-4">User Role Distribution</h2>
<div class="chart-container" style="height: 300px;">
<canvas id="roles Chart"></canvas>
</div>
</div>
<!-- User Journey Funnel Chart -->
<div class="card bg-white p-6 rounded-2xl shadow-md border border-gray200 lg:col-span-
2">
<h2 class="text-xl font-semibold mb-4">User Acquisition Funnel</h2>
<div class="chart-container" style="height: 400px;">
<div class="controls">
<select id="time Range">
<option value="This Week" selected>This Week</option>
<option value="This Month">This Month</option>
<option value="This year">This year</option>
</select>
</div>
<canvas id="funnel Chart"></canvas>
</div>
</div>
<Dropdown Menu>
<Dropdown Menu Trigger as Child>
<Button class Name="bg-teal-600 hover:bg-teal-700 text-white">
<Plus class Name="h-4 w-4 mr-2" />
Create New
</Button>
</Dropdown Menu Trigger>
<Dropdown Menu Content align="end" class Name="w-44">
{/* ✅ Go to static HTML file inside /public */}
<Dropdown Menu Item on Click={() => router. Push("/new course/[Link]")}>
Course
</Dropdown Menu Item>3
{/* ✅ Go to [Link] page (e.g., /ihtomassignments/teacher) */}
<Dropdown Menu>
<Dropdown Menu Trigger as Child>
<Button class Name="bg-teal-600 hover:bg-teal-700 text-white">
<Plus class Name="h-4 w-4 mr-2" />
Create New
</Button>
</Dropdown Menu Trigger>
<Dropdown Menu Content align="end" class Name="w-44">
{/* ✅ Go to static HTML file inside /public */}
Screenshot
References