0% found this document useful (0 votes)
7 views

Project -1 Report File[1]

Smart Learning is an innovative e-learning platform that enhances the educational experience for students and instructors through features like course management, user authentication, and an AI-driven course recommendation system. Built using the MERN stack and integrated with Razorpay for payments, it offers a user-friendly interface and efficient administrative tools. The platform addresses key challenges in education, such as accessibility and personalized learning, making it a scalable solution for modern learners.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Project -1 Report File[1]

Smart Learning is an innovative e-learning platform that enhances the educational experience for students and instructors through features like course management, user authentication, and an AI-driven course recommendation system. Built using the MERN stack and integrated with Razorpay for payments, it offers a user-friendly interface and efficient administrative tools. The platform addresses key challenges in education, such as accessibility and personalized learning, making it a scalable solution for modern learners.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

ABSTRACT

Smart Learning is a dynamic e-learning platform designed to streamline the learning process for
students and instructors. The platform offers essential features such as course browsing, course
management, user authentication, and payment integration through Razorpay. The front-end is
built with ReactJS and styled using Tailwind CSS, providing a clean, responsive, and
user-friendly interface.

The back-end leverages Node.js, Express.js, and MongoDB, ensuring smooth functionality and
secure data handling. The platform supports essential administrative tasks and instructor tools for
course creation and management.

A key feature of the platform is its course recommendation system, which uses an AI-driven
algorithm to suggest relevant courses to students based on specific criteria such as course
content, subject areas, and course popularity. This feature aims to help students discover new
courses that align with their academic goals, without relying on their previous user behavior or
preferences.

Smart Learning provides an engaging and accessible platform for students, instructors, and
administrators, enhancing the educational experience through efficient course management and
innovative features.

Keywords : E-learning , Course Recommendation , ReactJs , Node.js , User


Authentication

iv
LIST OF FIGURES

Figure Number Figure Title Page No.

Figure 3.2.1 ER-Diagram 12

Figure 3.3.1.1 Architecture Structure 13

Figure 8.3.1.1 Home Page 42

Figure 8.3.2.1 Sign Up Page 43

Figure 8.3.3.1 Login Page 44

Figure 8.3.4.1 Dashboard Page 45

Figure 8.3.5.1 Enrolled Course Page 46

Figure 8.3.6.1 Course Content Page 46

Figure 8.3.7.1 Change Password Page 47

Figure 8.3.8.1 Reset Password Page 47

Figure 8.3.9.1 Contact Us Page 48

Figure 8.3.10.1 Course Recommendation System Page 49

v
LIST OF TABLES

Table Number Table Title Page No.

Table 1.3.1 Hardware Specification 3

Table 3.4.1.1 User authentication Test Cases 20

Table 3.4.2.1 Course Management Test Cases 21

Table 3.4.3.1 Course Searching Test Cases 23

Table 3.4.4.1 Payment Integration Test Cases 24

Table 3.4.5.1 Security Test Cases 26

Table 3.4.6.1 Course Recommendation Test Cases 29

Table 8.1.1 Course Recommendation Dataset 39

vi
Table of Content
Title Page i

Candidate’s Declaration ii

Acknowledgement iii

Abstract iv

List of Figures v

List of Tables vi

1. Introduction 1
1.1. Problem Definition 1
1.2. Project Overview 2
1.3. Hardware Specification 3
1.4. Software Specification 4

2. Literature Survey 6
2.1. Existing System 6
2.2. Proposed System 7
2.3. Feasibility Study 8

3. System Analysis and Design 10


3.1. Requirement Specification 10
3.2. ER-Diagram 12
3.3. Design and Test Steps/Criteria 13
3.4. Algorithms 16
3.5. Testing Process (Test Cases to be included) 19

4. Results/Outputs 30

5. Result and Discussion/Analysis 33

6. Conclusion and Recommendations 35

7. References 37

8. Appendices 39

vii
Chapter-01

INTRODUCTION

1.1. Problem Definition

The educational sector is facing several significant challenges when it comes to meeting
the diverse needs of modern learners. These challenges include accessibility to quality education,
lack of personalized learning experiences, and inadequate engagement in traditional teaching
methods.

Key issues in the educational sector that Smart Learning aims to address include:

●​ Limited Access to Quality Education: Many learners, especially in remote or


underserved areas, struggle to access quality education.
●​ Lack of Personalized Learning: Traditional learning systems tend to follow a
one-size-fits-all approach, which does not account for varying learning paces or styles.
●​ Student Engagement: With the advent of technology, there is a growing need to engage
students more effectively through interactive and multimedia-rich content.
●​ Course Management: Instructors often lack an efficient system to create, manage, and
track courses, leading to inefficiencies in content delivery.

Smart Learning aims to bridge these gaps by offering a scalable and flexible solution for both
students and instructors to enhance the learning experience.

Page 1 of 50
1.2. Project Overview

Project Name: Smart Learning

Technologies Used: MERN Stack (MongoDB, Express.js, React.js, Node.js), Course


Recommendation Feature using Python [3],[4]

1.2.1. Core Features:

(a). Interactive Learning: Provides multimedia content such as videos, articles, and
quizzes, allowing students to track their progress and get personalized recommendations.

(b). User Authentication: Secure signup, login, and OTP-based verification system.

(c). Course Management: Instructors can create, update, and manage courses; students
can enroll, take courses, and leave reviews.

(d). Admin Dashboard: A management interface for administrators to oversee user


activities, courses, and analytics.

(e). Payment Gateway Integration: Integration with Razorpay for course purchases and
enrollments.

(f). Course Recommendation System: Uses machine learning algorithms and


collaborative filtering for personalized course recommendations based on student
preferences and interests.

Page 2 of 50
1.3. Hardware Specification
Table 1.3.1. Hardware Specification

Page 3 of 50
1.4. Software Specification

1.4.1 Frontend Technologies:

(a).React.js: JavaScript library for building responsive user interfaces and dynamic
single-page applications (SPA) [2]

(b). Tailwind CSS: A utility-first CSS framework for creating modern, responsive
UIs.[7]

(c). Redux: State management library for managing global application state, ensuring
smooth data flow across components. [3]

(d). React Router: Used for managing navigation between different pages and
components. [3]

1.4.2. Backend Technologies:

(a). Node.js: JavaScript runtime that allows executing JavaScript code outside of the
browser, enabling the backend for server-side functionalities.[3]

(b). Express.js: Web framework for building RESTful APIs, handling routing and
middleware efficiently.[4]

(c). MongoDB: NoSQL database used for flexible and scalable data storage. MongoDB
Atlas manages cloud-based storage. [3]

(d). JWT (JSON Web Tokens): Secure authentication method to manage user sessions
and protect sensitive data.[8]

(e). Bcrypt: A library used for hashing and securing user passwords during signup and
login processes.[8]

1.4.3. Recommendation System Tech:

(a). Python: Used for building the course recommendation algorithm [5].

Page 4 of 50
(b). Scikit-learn: Provides machine learning tools for training models and computing
similarity between courses [5].

(c). XGBoost: Used for more complex machine learning models, especially for
personalized recommendations [6].

(d). Streamlit: Web framework for deploying the recommendation system as an


interactive web app [5].

1.4.4. APIs:

(a). REST API: Facilitates communication between the frontend and backend for data
exchange [4].

(b). Payment API: Integrated with Razorpay for managing payments related to course
enrollments [9].

1.4.5. Development Tools:

(a). VS Code: Source code editor for both frontend and backend development [3].

(b). Postman: API testing tool used to ensure proper communication between frontend
and backend [4].

(c).Git: Version control system used for tracking code changes and collaboration [3].

Chapter-02
LITERATURE SURVEY

Page 5 of 50
2.1 Existing System

2.1.1. Existing Systems face several challenges:

(a). Limited Personalization: Most platforms offer the same content for all students,
without adjusting to their learning needs or styles.​
(b). Instructor-Centered Design: These systems focus more on instructors and less on
student needs, offering few interactive features for students.​
(c). Basic Course Management: Instructors have simple tools for course creation and
student management, but these don’t offer advanced features like tracking progress or
adapting to student needs.​
(d). No Course Recommendations: Students have to manually search for courses
because most platforms don’t offer recommendations based on their interests or past
courses.​

2.1.2. Key Limitations:

(a). Static, non-interactive learning.

(b). No personalization for students.

(c). Limited tools for instructors.

(d). No intelligent course recommendations.

2.2. Proposed System

Page 6 of 50
​Smart Learning enhances the existing EdTech systems by introducing advanced features that
improve both student engagement and instructor efficiency. The key features of the proposed
system include:

2.2.1. Advanced Course Management: Instructors can create, update, and manage
courses easily. They can also track student progress, assess performance, and adjust
content accordingly.

2.2.2. Comprehensive Dashboard: The platform includes a detailed dashboard where


administrators can monitor course enrollments, student activity, and instructor
performance. This helps maintain quality control and ensures smooth platform
operations.

2.2.3. AI-Powered Course Recommendation: The system uses machine learning


algorithms, including Scikit-learn, XGBoost, and collaborative filtering, to suggest
courses based on user preferences, past enrollments, and learning patterns. This ensures
students find the most relevant content without manual searching.

2.2.4. Secure Payment Integration: To support paid courses, the platform integrates
payment gateways like Razorpay for secure transactions, enabling smooth enrollment and
course purchases.

2.3 Feasibility Study

Page 7 of 50
The feasibility study evaluates the practicality of implementing the Smart Learning system by
analyzing its technical, economic, and operational feasibility.

2.3.1. Technical Feasibility

The system is built using MERN stack (MongoDB, Express.js, React, Node.js), ensuring
a scalable, flexible, and high-performance platform. The key technical aspects include:

(a). AI-Based Course Recommendations: Machine learning models like Scikit-learn


and XGBoost enhance personalization.

(b). Secure Authentication: JWT (JSON Web Token) and Bcrypt ensure user data
security.

(c). Cloud Storage: Platforms like Cloudinary handle multimedia content efficiently.

(d). Payment Integration: Secure transactions using Razorpay for premium courses.​

2.3.2. Economic Feasibility

The system is cost-effective due to its reliance on open-source technologies. Key factors include:

(a). Low Development Cost: The MERN stack and AI libraries are open-source,
reducing software costs.

(b). Cloud-Based Hosting: Deploying on AWS or Vercel minimizes server infrastructure


expenses.

2.3.3. Operational Feasibility

The system is designed for ease of use by students, instructors, and administrators. Key
benefits include:

(a). Simple UI/UX: A user-friendly React.js frontend ensures smooth navigation.

Page 8 of 50
(b). Interactive Learning: Features like discussion forums and live Q&A improve
engagement.

(c). Instructor Control: Educators can easily create, manage, and update courses.

(d). Admin Monitoring: A centralized dashboard helps manage user activities


effectively.

Page 9 of 50
CHAPTER-03

SYSTEM ANALYSIS & DESIGN

3.1 Requirement Specification

The Smart Learning platform is designed for efficient, scalable, and interactive
learning. The requirements are classified as follows -

3.1.1 Functional Requirements

(a). User Authentication: Secure login/signup with JWT authentication and


role-based access (students, instructors, admins) [8].

(b). Course Management: Instructors can create, update, and manage courses;
students can enroll, track progress, and review courses [3].

(c). Course Recommendation: AI-powered personalized course suggestions


using Scikit-learn, XGBoost, and collaborative filtering [6].

(d). Admin Dashboard: Admins can monitor users, courses, and platform
activity [5].

(e). Payment Integration: Secure payments via Razorpay, with order history
and invoices [7].

3.1.2 Non-Functional Requirements

(a). Scalability: Cloud hosting via Vercel, Render, and MongoDB Atlas for
smooth performance [5].

Page 10 of 50
(b). Security: Bcrypt hashing for passwords and data encryption for user
privacy [8].

(c). Performance: API responses within a few seconds, optimized React.js


frontend for speed [3].

(d). Usability: User-friendly UI, mobile-responsive design for accessibility [7]

Page 11 of 50
3.2 ER Diagram :
​ The Smart Learning platform follows a structured workflow, represented through
flowcharts, Data Flow Diagrams (DFDs), and Entity-Relationship Diagrams (ERDs).

Figure 3.2.1 ER-Diagram

Page 12 of 50
3.3. Design and Test Steps / Criteria

The Smart Learning platform follows a structured design and testing approach to ensure
functionality, security, and user experience.

3.3.1 Design Approach

The system follows a modular design with a three-tier architecture:

Figure 3.3.1.1 Architecture Structure

(a). Frontend (Client-Side)

○​ React.js + Tailwind CSS for a responsive and user-friendly UI [4].


○​ Redux for state management.
○​ Dynamic course pages, progress tracking, and interactive learning modules.
○​ Course Recommendation System UI allowing users to get personalized course
suggestions.

(b). Backend (Server-Side)

○​ Node.js + Express.js for handling authentication, course management, and data


processing [2].
○​ REST APIs for seamless frontend-backend communication.
○​ AI-powered Recommendation Engine for personalized learning paths.
○​ Machine Learning (Scikit-learn, XGBoost, Collaborative Filtering) to analyze
user preferences and suggest relevant courses [6].

Page 13 of 50
(c) . Database Layer​

○​ MongoDB Atlas for storing user data, courses, enrollments, and transactions [5].
○​ Optimized indexing for fast data retrieval.
○​ Secure authentication using JWT and bcrypt for password encryption [8].
○​ Course Recommendation Data Storage to track user activity and improve
suggestions.

3.3.2 Testing Strategy

Testing is conducted in different phases to ensure error-free deployment.

(a). Unit Testing

●​ Objective: Validate individual components like authentication, course creation,


recommendation algorithm, and payment processing [9].
●​ Tools: Postman for API testing.

(b). Integration Testing

●​ Objective: Ensure smooth interaction between the frontend, backend, and


database [2].
●​ Tools: Postman.

(C). Security Testing

●​ Objective: Detect SQL injections, authentication loopholes, and data encryption


vulnerabilities [8].
●​ Tools: Postman security checks.

Page 14 of 50
(d). Recommendation System Testing

●​ Objective: Ensure that recommended courses match user interests and are updated
dynamically based on user activity [6].
●​ Metrics: Accuracy, relevance score, and user feedback ratings.
●​ Tools: Scikit-learn, Pandas.

(e). User Acceptance Testing (UAT)

●​ Objective: Ensure the platform meets user expectations and functional


requirements.
●​ Method: Beta testing with real users (students, instructors, and admins).

3.3.3 Testing Criteria

The platform is evaluated based on the following criteria:

(a). Functionality – All features work as expected (user registration, course


management, payments, recommendation engine).​
(b). Performance – API response time < 2 seconds, seamless course loading, and
efficient recommendation processing.​
(c ). Security – Data encryption, role-based access control, and secure authentication.​
(d). Recommendation Accuracy – Personalized course suggestions should be 80%+
relevant to user interests.​
(e). Usability – Intuitive UI, easy navigation, and mobile responsiveness.​
(f). Scalability – Can handle increasing users without performance degradation.

Page 15 of 50
3.4 Algorithms

The Smart Learning platform implements several algorithms to enhance user experience,
manage courses efficiently, and provide intelligent course recommendations. Below are the key
algorithms used:

3.4.1. User Authentication Algorithm (JWT & Bcrypt)

Ensures secure login and access control.

Algorithm:

(a). User enters email & password.

(b). System hashes the password using Bcrypt before storing it in the database.

(c). During login, system verifies the password against the stored hash.

(d). If valid, system generates a JWT token with user details.

(e). Token is used to authorize API requests.

3.4.2. Course Search & Filtering Algorithm

Helps users find relevant courses based on keywords, categories, and popularity.

Algorithm:

(a). User enters a search query.

(b). System tokenizes & normalizes the query

(c). Search is performed on MongoDB indexes for fast retrieval.

Page 16 of 50
(d). Courses are ranked based on title match, description relevance, user ratings,
and enrollments.

(e). Results are sorted and displayed.

3.4.3. Payment Processing Algorithm (Razorpay Integration)

Handles secure course payments.

Algorithm:

(a).User selects a course and clicks "Buy Now".

(b). System generates an order ID and sends it to Razorpay API.

(c). Razorpay processes the payment and returns a response.

(d). If successful, update the user's course access in the database.

(e). If failure, prompt the user to retry.

3.4.4. Course Progress Tracking Algorithm

Tracks and updates students’ learning progress.

Algorithm:

(a). When a student watches a video, reads content, or completes a quiz, progress
data is logged.

(b). System calculates completion percentage based on completed activities vs.


total course content.

(c). If completion > 80%, course is marked as "Completed".

(d). Data is stored in MongoDB and displayed on the dashboard.

Page 17 of 50
3.4.5. Course Recommendation Algorithm (Using Coursera Data from
Kaggle)

This algorithm suggests relevant courses based on user interactions, course similarity,
and past enrollments.

Algorithm (Content-Based Filtering Approach using Cosine Similarity):

(a). Load Dataset: Import Coursera course data from Kaggle.

(b). Preprocess Data: Clean course descriptions, remove stopwords, and convert
text to lowercase.

(c) . Vectorize Course Descriptions:

○​ Convert course descriptions into numerical format using TF-IDF


(Term Frequency-Inverse Document Frequency).
○​ Compute feature vectors using Scikit-learn's TfidfVectorizer.

(d). Calculate Similarity:

○​ Compute cosine similarity between all course vectors.


○​ Store similarity scores in a precomputed similarity matrix
(pickle file: similarity.pkl).

(e). Make Recommendations:

○​ When a user selects a course, retrieve its index.


○​ Find the top N most similar courses using the similarity matrix.
○​ Display recommended courses based on the highest similarity
scores.

Page 18 of 50
3.5 Testing Process (Test Cases to be included)

The Smart Learning platform undergoes rigorous testing to ensure functionality,


performance, security, and user experience. The testing process includes unit testing, integration
testing, functional testing, and user acceptance testing (UAT). Below are the test cases
categorized by different modules.

3.5.1 User Authentication Testing Process

(a). Signup Process:

●​ Description: Test the signup functionality for a new user.


●​ Expected Result: The user should be successfully signed up, and a confirmation
email should be sent.
●​ Steps:
1.​ Navigate to the signup page.
2.​ Enter valid details (email, password, etc.).
3.​ Submit the form.
4.​ Verify that the user receives a confirmation email.

(b). Login Process

●​ Description: Test the login functionality for an existing user.


●​ Expected Result: The user should be able to log in successfully.
●​ Steps:
1.​ Navigate to the login page.
2.​ Enter valid credentials (email and password).
3.​ Submit the form.
4.​ Verify that the user is redirected to the dashboard or homepage.

Page 19 of 50
(c). Test Cases
Table 3.5.1.1 User Authentication Test Cases

Test Case ID Test Scenario Expected Outcome Status

UAT-01 User enters valid credentials User successfully logs in Pass


for login

UAT-02 User enters incorrect Error message is displayed Pass


password

UAT-03 User tries to access a Redirect to login page Pass


restricted page without
logging in

UAT-04 User signs up with an already Error message is displayed Pass


registered email

3.5.2 Course Management Testing Process :

(a). Course Creation

●​ Description: Test the functionality for instructors to create a new course.


●​ Expected Result: The course should be created successfully with all the required
details (title, description, URL, etc.).
●​ Steps:
1.​ Login as an instructor.
2.​ Navigate to the course creation page.
3.​ Fill in the course details and submit.
4.​ Verify that the course appears in the course list and is accessible to
students.

(b). Course Enrollment

Page 20 of 50
●​ Description: Test the course enrollment functionality for students.
●​ Expected Result: The student should be successfully enrolled in the course, and
the course should appear in their dashboard.
●​ Steps:
1.​ Login as a student.
2.​ Select a course and click on "Enroll".
3.​ Verify that the course is added to the student’s course list.

(c). Test Cases :

Table 3.5.2.1 Course Management Test Cases

Test Case ID Test Scenario Expected Outcome Status

CMT-01 Instructor creates a new Course is successfully Pass


course created and listed

CMT-02 Student enrolls in a course Course appears in the Pass


user’s dashboard

CMT-03 Instructor edits course details Updated details are Pass


reflected correctly

CMT-04 Student submits course Review is stored and Pass


feedback displayed correctly

3.5.3 Course Searching Testing : ​


​ (a). Course Recommendation Based on Search

●​ Description: Test the system’s ability to recommend relevant courses when a user
searches for a course.
●​ Expected Result: When the user searches for a course, relevant course
suggestions should be displayed based on the search query and the user’s
interests.
●​ Steps:

Page 21 of 50
1.​ Login as a student or user.
2.​ Go to the search bar and type a course name (e.g., "Data Science").
3.​ Verify that the system displays a list of courses relevant to the search
query.
4.​ Verify that the recommendations include courses related to the search
term.
5.​ Test with multiple search terms to ensure the recommendations are
consistently relevant.

(b). Personalized Recommendations After Course Completion

●​ Description: Test if the system updates personalized recommendations after a


user completes a course.
●​ Expected Result: The system should update course recommendations based on
the course completion, offering similar or advanced courses in the same subject
area.
●​ Steps:
1.​ Login as a student and enroll in a course.
2.​ Complete the course.
3.​ After course completion, navigate to the course recommendation section
or dashboard.
4.​ Verify that the system now displays recommended courses related to the
completed course or in a similar category.
5.​ Ensure the recommendations are updated with new courses, possibly from
advanced levels or related topics.

(c). Recommendations Based on User Interaction with Multiple Courses

●​ Description: Test the system’s ability to recommend similar courses based on


user interaction and browsing history.
●​ Expected Result: When a user interacts with multiple courses (by browsing or
viewing details), the system should suggest similar courses based on the
interaction history.

Page 22 of 50
●​ Steps:
1.​ Login as a student or user.
2.​ Browse through different courses without enrolling in them.
3.​ After browsing multiple courses, go to the course recommendation section
or dashboard.
4.​ Verify that the system recommends courses related to those the user
interacted with.
5.​ Ensure the recommendations are relevant based on the courses the user
has shown interest in.

(d). Test Cases :

Table 3.5.3.1 Course Searching Test Cases

Test Case ID Test Scenario Expected Outcome Status

CRT-01 User searches for a course Relevant course Pass


suggestions are displayed

CRT-02 User completes a course Personalized Pass


recommendations update
based on completion

CRT-03 User interacts with multiple System recommends Pass


courses similar courses based on
browsing history

Table 3.4.3.1 Course Searching Test Cases

3.5.4 Payment Integration Testing

(a). Course Purchase

Page 23 of 50
●​ Description: Test the course purchasing functionality through the payment
gateway (e.g., Razorpay).
●​ Expected Result: The user should be able to successfully purchase the course,
and the payment should be processed correctly.
●​ Steps:
1.​ Login as a student.
2.​ Select a course and proceed to checkout.
3.​ Enter payment details and complete the purchase.
4.​ Verify that the course is marked as purchased, and the payment is
processed.

(b). Handling Payment Failure

●​ Description: Test the system’s behavior when a payment fails.


●​ Expected Result: The user should be notified about the payment failure, and no
courses should be purchased.
●​ Steps:
1.​ Simulate a payment failure (e.g., by entering invalid payment details).
2.​ Attempt to purchase a course.
3.​ Verify that the user is shown an error message and no courses are
purchased.

(c) . Test Cases :

Table 3.5.4.1 Payment Integration Test Cases

Test Case ID Test Scenario Expected Outcome Status

PIT-01 User initiates payment for a Redirects to payment Pass


course gateway

PIT-02 User completes payment Enrollment confirmation is Pass


successfully sent

PIT-03 User cancels payment Course is not added, and Pass


no charge is applied

Page 24 of 50
3.5.5 Security Testing

(a). SQL Injection Protection

●​ Description: Test the platform’s ability to prevent SQL injection attacks during
user login.
●​ Expected Result: The system should prevent unauthorized access and not allow
any SQL injection to compromise the database.
●​ Steps:
1.​ Navigate to the login page of the platform.
2.​ In the username and password fields, enter common SQL injection
payload
3.​ Attempt to submit the login form.
4.​ Verify that the system blocks the SQL injection and prevents login.
5.​ Ensure that the system returns an error message or a prompt asking the
user to enter valid credentials, without exposing any backend data or
errors.

(b). Unauthenticated API Access

●​ Description: Test the system’s handling of unauthenticated API access


attempts.
●​ Expected Result: When an unauthenticated user attempts to access restricted
APIs, the system should return an unauthorized error (HTTP 401 or 403).
●​ Steps:
1.​ Use a tool like Postman or Insomnia to make an API request to a
restricted endpoint without providing an authentication token.
2.​ Attempt to access an API endpoint that requires authentication (e.g.,
retrieving user data or course information).
3.​ Verify that the API returns an unauthorized error (HTTP 401 or 403).
4.​ Ensure that the response does not expose any sensitive information, like
system details or database errors.

Page 25 of 50
(c ). Test Cases :

Table 3.5.5.1 Security Test Cases

Test Case ID Test Scenario Expected Outcome Status

SCT-01 User attempts SQL injection System prevents Pass


in login field unauthorized access

SCT-02 Unauthenticated API access API returns unauthorized Pass


attempt error

3.5.6. Course Recommendation System Testing

The Course Recommendation System is designed to recommend the best courses based
on a user’s search query. This system uses Coursera course data from Kaggle and searches for
relevant courses based on user input. Below are the test cases for ensuring the system functions
as expected:

(a). Course Search and Recommendation

●​ Description: Test the functionality of the course recommendation system when


the user searches for a specific course.
●​ Expected Result: The system should display a list of courses that best match the
search query and show top recommendations based on relevance.
●​ Steps:
1.​ Go to the search bar of the course recommendation system.
2.​ Enter a course name or topic, such as "Data Science".
3.​ Verify that the system displays a list of courses relevant to the search term.
4.​ Ensure that the courses listed are from Coursera and match the search
query.

Page 26 of 50
(b). Course Search with Multiple Keywords

●​ Description: Test the system’s ability to handle search queries with multiple
keywords (e.g., "Data Science for Beginners").
●​ Expected Result: The system should correctly identify and recommend the most
relevant courses based on the combined keywords.
●​ Steps:
1.​ Enter a multi-keyword search, such as "Data Science for Beginners".
2.​ Verify that the system returns a list of relevant courses based on the
keywords provided.
3.​ Ensure that each course is properly labeled with course details, including
difficulty level, rating, and description.

(c). Course Recommendations for Unspecified Search

●​ Description: Test the system's ability to handle an empty or vague search query
(e.g., user types just "Data").
●​ Expected Result: The system should provide recommendations based on the
broad search term and show the most popular or top-rated courses related to the
keyword.
●​ Steps:
1.​ Enter a broad search term, such as "Data".
2.​ Verify that the system returns a list of courses that are closely related to
the keyword.
3.​ Ensure that these recommendations are ranked by course rating or
relevance.

(d). Sorting of Recommendations by Rating :

●​ Description: Test the system’s ability to sort courses based on their ratings,
ensuring the highest-rated courses are displayed at the top.

Page 27 of 50
●​ Expected Result: The recommended courses should be sorted by rating,
displaying the highest-rated courses first.
●​ Steps:
1.​ Enter a search term, such as "Machine Learning".
2.​ Verify that the recommended courses are listed in order of their ratings.
3.​ Ensure that courses with higher ratings (e.g., 4.8) appear before
lower-rated courses.

(e). Display of Course Information in Recommendations

●​ Description: Test that the system displays essential course information in the
recommendation list, such as the course name, university, difficulty level, rating,
and URL.
●​ Expected Result: Each recommended course should display its name, university,
difficulty level, rating, and a link to the course URL.
●​ Steps:
1.​ Perform a search query (e.g., "Web Development").
2.​ Ensure that the displayed information is accurate and matches the course
data from the Kaggle dataset

​ (f). Test Cases :

Table 3.5.6.1 Course Recommendation Test Cases

Test Case ID Test Scenario Expected Outcome Status

CRT-01 User searches for a course The system displays the Pass
best matching courses for
the search term.

CRT-02 User searches with multiple The system should Pass


keywords (e.g., "Data Science recommend the best
for Beginners"). courses that match the
multi-keyword search.

Page 28 of 50
CRT-03 User performs a broad or The system should provide Pass
unspecified search (e.g., top-rated or relevant
"Data"). courses, even with vague
search terms.

CRT-04 User searches for a course The system sorts the Pass
(e.g., "Machine Learning") recommended courses by
and verifies the course rating. rating in descending order.

CRT-05 User searches for a course Each recommended course Pass


(e.g., "Web Development"). should display accurate
details such as name.

Page 29 of 50
CHAPTER-04
RESULTS/OUTPUTS

Outcomes and Results of Smart Learning Project

4.1. Course Recommendation System

4.1.1. Outcome: The system suggests relevant courses based on the keyword or topic
entered by the user in the search bar. It uses Coursera data to recommend the most
suitable courses based on course titles and descriptions [9].

4.1.2. Results:

(a). Course Suggestions: When a student searches for a specific course or topic,
the system uses the course data (e.g., course name, description, and university) to
suggest related courses [2].

(b). Improved Course Discovery: Students can easily discover new courses
relevant to their interests by simply typing a keyword or course name into the
search bar [9].

4.1.3. Example:

(a). A student searches for "Python Programming", and the system suggests:

1.​ Python for Data Science (Beginner)


2.​ Advanced Python Programming (Intermediate)
3.​ Python for Machine Learning (Intermediate) [3].

Page 30 of 50
4.2. Course Information and Details

4.2.1 Outcome: The platform provides students with detailed information about the
courses, including course names, ratings, universities, skills learned, and descriptions
[4].

4.2.2. Results:

(a). Enhanced Decision Making: Students can view important information about
each course before enrolling, allowing them to make informed decisions [8].

4.2.3. Example:

(a). When a student selects a recommended course, they can see:

■​ Course Name: Python for Data Science


■​ University: Michigan State University
■​ Difficulty Level: Beginner
■​ Skills: Python, Data Science, Machine Learning [5]

4.3. Course Enrollment

4.3.1. Outcome: Students can enroll in their desired courses directly through the
platform, making the learning process seamless [2].​
4.3.2. Results:

(a). Easy Enrollment: Upon choosing a course, students can click on the course
link, which redirects them to the course platform (e.g., Coursera) to enroll [7].

4.3.3. Example:

(a). After exploring a recommended course, a student clicks "Enroll Now", which
takes them to the course enrollment page on Coursera [9].

Page 31 of 50
4.4. Admin Dashboard and Analytics

4.4.1. Outcome: Admins can access detailed analytics about course views, enrollments,
and course ratings [3].

4.4.2. Results:

(a). Real-time Monitoring: Admins can track user engagement, the number of
enrollments, and the most popular courses. This helps in identifying areas for
improvement and managing the platform efficiently [6].

4.4.3. Example:

(a). Admins can see reports showing that the course “Introduction to Data
Science” has had a 90% enrollment rate and the highest ratings among all the
available courses [6].

4.5 Scalability and Reliability

4.5.1. Outcome: The system is scalable to handle a growing number of students and
courses. It is hosted on cloud platforms to ensure reliability and minimize downtime [5].

4.5.2. Results:

(a). Seamless Scaling: As the platform grows, additional courses and users can be
added without affecting performance [7].

(b). High Availability: The platform remains responsive even under heavy
traffic, thanks to cloud hosting and load balancing [8].

4.5.3. Example:

(a).The platform remains available 99.9% of the time, ensuring that students can
always search and enroll in courses without downtime [9].

Page 32 of 50
CHAPTER–05

RESULTS AND DISCUSSION/ANALYSIS

5.1. Results:

5.1.1. Personalized Course Recommendations:​


​ The recommendation system accurately suggests relevant courses based on a
user’s search. When users search for specific courses, the system displays similar courses
that align with their interests [2].

5.1.2. Course Management:​


​ Instructors can easily create, update, and manage courses. The system ensures that
courses are listed and accessible to students. Instructors can track student progress and
receive feedback [3].​
5.1.3. Engagement with Multimedia:​
​ The platform provides engaging learning materials, such as videos, quizzes, and
assignments, which helps students stay motivated and on track [4].

5.1.4. Security and Performance:​


​ The system uses secure authentication and performs well with fast response times.
It ensures the protection of user data and provides a smooth experience for both students
and instructors [8].

5.2. Discussion/Analysis:

5.2.1. Personalized Learning:​


​ The recommendation system helps students find relevant courses faster. However,
improving it by including data like learning preferences (e.g., video vs. text) could make
it even better [6].​

Page 33 of 50
5.2.2. Instructor Tools:​
​ The course management system is intuitive, but adding features like automatic
grading or AI-based feedback could make it even more powerful [3].

5.2.3. Student Engagement:​


​ Gamification features have shown increased motivation. Adding social features
like peer discussions could further boost engagement [7].

5.2.4. Security and Scalability:​


​ The system is secure and can scale to accommodate many users. However, adding
two-factor authentication and better rate limiting would increase security as the platform
grows [8].


5.2.5. User Experience:​
The platform’s UI/UX is intuitive and mobile-friendly, but user testing across different
devices and demographics could uncover areas for further improvement [9].

Page 34 of 50
CHAPTER-06
CONCLUSIONS / RECOMMENDATIONS

6.1. Conclusions:

The Smart Learning platform provides a comprehensive, interactive, and personalized


learning experience, addressing key challenges faced by both students and instructors in the
traditional education landscape [1]. By leveraging advanced technologies like machine learning,
interactive content delivery, and a user-friendly interface, the platform effectively bridges the gap
between students' needs and instructors' capabilities. The key conclusions from the project are as
follows:

6.1.1. Personalized Learning: By incorporating a course recommendation system, Smart


Learning successfully delivers personalized learning paths for students based on their
preferences and course completions [2]. This helps students navigate through the vast
array of available courses and find the content most relevant to their needs.​

6.1.2. Course Management and Interaction: Instructors have easy-to-use tools for
creating, managing, and modifying their courses [3]. Students can interact with the
content and other learners through comments and discussions, promoting a dynamic
learning environment. The integration of multimedia content such as videos, quizzes, and
articles makes the learning process more engaging and effective [4].​

6.1.3. Scalability and Flexibility: With the system built on the MERN stack (MongoDB,
Express.js, React.js, Node.js), Smart Learning is designed to be highly scalable, ensuring
that the platform can handle increased users and growing content libraries seamlessly [5].
Cloud services such as Vercel and MongoDB Atlas support the infrastructure, providing
flexibility for future expansion.​

Page 35 of 50
6.1.4. Security and Reliability: The platform incorporates JWT for secure user
authentication and Bcrypt for secure password storage [8]. These security measures
ensure that user data, including personal information and payment details, is protected.
Additionally, the platform is designed for high availability, with robust error handling
mechanisms in place.

6.2. Recommendations:

6.2.1. Add Advanced AI Features: As a future enhancement, incorporating more


advanced AI-driven features, such as adaptive learning (where the platform dynamically
adjusts to the learner's progress), can further personalize the learning experience [6]. This
would help students by suggesting courses not only based on what they have completed
but also based on their preferred learning pace and challenges.​

6.2.2. Mobile App Development: Expanding the Smart Learning platform to include a
mobile application would significantly improve accessibility, allowing students and
instructors to interact with the platform from anywhere and at any time. Mobile learning
is especially beneficial for students who prefer learning on-the-go or have limited access
to desktop devices [7].​

6.2.3. Collaborative Learning Features: Enhancing the collaborative learning aspect by


integrating peer-to-peer discussions or group projects would further enrich the student
experience. This would foster a community where students can learn from each other, ask
questions, and collaborate on assignments.​

6.2.4. More Payment Options: While the platform currently supports payment through
Razorpay, incorporating additional payment gateways (e.g., PayPal, Stripe, etc.) could
broaden the platform's reach, catering to users from different regions who may prefer
different methods of payments.

Page 36 of 50
REFERENCES

[1] Kaggle, "Coursera Course Data," Kaggle, 2021. [Online].

Available: https://www.kaggle.com/. [Accessed: 30-Jan-2025].

[2] React, "React Documentation," React, 2021. [Online].

Available: https://reactjs.org/docs/getting-started.html. [Accessed: 30-Jan-2025].

[3] MongoDB, "MongoDB Manual," MongoDB, 2021. [Online].

Available: https://docs.mongodb.com/. [Accessed: 30-Jan-2025].

[4] Express, "Express.js Guide," Express, 2021. [Online].

Available: https://expressjs.com/. [Accessed: 30-Jan-2025].

[5] Scikit-learn, "Scikit-learn Documentation," Scikit-learn, 2021. [Online].

Available: https://scikit-learn.org/. [Accessed: 30-Jan-2025].

[6] T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System," in Proc. 22nd ACM
SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016, pp.
456-479. [Online].

Available: https://xgboost.readthedocs.io/. [Accessed: 30-Jan-2025].

[7] Tailwind CSS, "Tailwind CSS Documentation," Tailwind CSS, 2021. [Online].

Available: https://tailwindcss.com/docs. [Accessed: 30-Jan-2025].

[8] Auth0, "JWT Authentication Guide," Auth0, 2021. [Online].

Available: https://auth0.com/docs. [Accessed: 30-Jan-2025].

Page 37 of 50
[9] Coursera, "About Coursera," Coursera, 2021. [Online]. Available: https://www.coursera.org/.
[Accessed: 30-Jan-2025].

Page 38 of 50
CHAPTER-08
APPENDICES

8.1. Appendix A: Dataset Sample for Course Recommendation

The dataset used for the course recommendation system is sourced from Kaggle and
includes information on various Coursera courses. Below is a sample of the data used for
recommendations:

Table 8.1.1 Course Recommendation Dataset

Page 39 of 50
8.2. Appendix B: Course Recommendation Algorithm (Simplified)

Code :
import os
import pickle
import streamlit as st
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import requests

courses_list = pickle.load(open('courses.pkl','rb'))
similarity = pickle.load(open('similarity.pkl','rb'))

def recommend(course):
index = courses_list[courses_list['course_name'] == course].index[0]
distances = sorted(list(enumerate(similarity[index])), reverse=True, key=lambda x:
x[1])
recommended_course_names = []
for i in distances[1:7]:
course_name = courses_list.iloc[i[0]].course_name
recommended_course_names.append(course_name)

return recommended_course_names

st.markdown("<h2 style='text-align: center; color: blue;'>Coursera Course


Recommendation System</h2>", unsafe_allow_html=True)
st.markdown("<h4 style='text-align: center; color: black;'>Web App created by Basant ,
Kanishk , Jinesh</h4>", unsafe_allow_html=True)

Page 40 of 50
course_list = courses_list['course_name'].values
selected_course = st.selectbox(
"Type or select a course you like :",
courses_list
)

if st.button('Show Recommended Courses'):


st.write("Recommended Courses based on your interests are :")
recommended_course_names = recommend(selected_course)
st.text(recommended_course_names[0])
st.text(recommended_course_names[1])
st.text(recommended_course_names[2])
st.text(recommended_course_names[3])
st.text(recommended_course_names[4])
st.text(recommended_course_names[5])
st.text(" ")
st.markdown("<h6 style='text-align: center; color: red;'>Copyright reserved by
Coursera and Respective Course Owners</h6>", unsafe_allow_html=True)

Page 41 of 50
8.3.Appendix C: Screenshots of the Smart Learning Platform

8.3.1. Home Page :


Figure 8.3.1.1 Home Page

Page 42 of 50
8.3.2. SignUp Page :

Figure 8.3.2.1 SignUp Page

Page 43 of 50
8.3.3. Login Page

Figure 8.3.3.1 loginPage

Page 44 of 50
8.3.4. Dashboard Page :

Figure 8.3.4.1 Dashboard Page

Page 45 of 50
8.3.5. Enrolled Courses Page :

Figure 8.3.5.1 Enrolled Course Page

8.3.6. Course Content Page :

Page 46 of 50
Figure 8.3.6.1 Course Content Page
8.3.7. Change Password Page

Figure 8.3.7.1 Change Password Page


8.3.8. Reset Password Page :

Figure 8.3.8.1 Reset Password Page

Page 47 of 50
8.3.9. Contact Us Page :

Figure 8.3.9.1 Contact Us Page

Page 48 of 50
8.3.10. Course Recommendation Page :

Figure 8.3.10.1 Course Recommendation System Page

Page 49 of 50
Page 50 of 50

You might also like