MERN stack minor project
MERN stack minor project
StudyBuddy is ed-tech platform using the MERN stack, encompassing the capabilities of
ReactJS, NodeJS, MongoDB, and ExpressJS. Designed with a visionary approach, Stu-
dyNotion encapsulates the essence of modern education, fostering a dynamic ecosystem
where users can effortlessly create, consume, and rate educational content.
StudyBuddy provides a seamless and interactive learning experience for students world-
wide.
Secondly, StudyBuddy is a for instructors to showcase their expertise, and connect with a
diverse cohort of learners spanning the globe.
Acknowledgement
1 Feasibility Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7 SDLC ........................................................................................................................... 18
8 Use Case Diagram ....................................................................................................... 23
9 DFD Level-0 ................................................................................................................ 24
10 DFD Level-1 ................................................................................................................ 24
11 DFD Level-2 ................................................................................................................ 24
12 Database Design .......................................................................................................... 25
13 Methodology ................................................................................................................ 25
14 React ....................................................................................................................... 26
1 Introduction 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.7 Identification of Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.8 Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.9 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.10 Unique Features of the System . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 System Design 21
3.1 Design Approach ......................................................................................................... 21
3.2 Detail Design ............................................................................................................... 21
3.3 System Design using various Structured analysis and design tools ...................... 22
3.4 Database Design ......................................................................................................... 25
3.5 Methodology ................................................................................................................ 25
4 Implementation, Testing, and Maintenance 26
4.1 Introduction to Languages, IDE’s, Tools and Technologies used for Imple-
mentation ................................................................................................................ 26
4.2 Testing Techniques and Test Plans ...................................................................... 31
7 References 40
1 Introduction
1.1 Introduction
StudyBuddy is an advanced ed-tech platform made with the MERN stack, allowing users
to create, view, and rate educational content. It focuses on giving students an engaging
learning experience while providing instructors a platform to share their knowledge globally.
This overview will delve into its technical aspects, detailing system architecture, front-end
and back-end designs, API structures, deployment methods, testing procedures, and future
upgrade possibilities. In essence, StudyBuddy combines tech prowess with educational
goals, benefiting both learners and educators.
The StudyBuddy falls under the category of Education Technology (EdTech). It combines
elements of student to seamless and interactive learning experience and making education
more accessible and engaging. The system aims to instructors to showcase their expertise
and connect with learners across the globe.
Online education is growing, but many students and teachers face problems. Students
often struggle to find engaging lessons, while teachers find it hard to share their knowl-
edge with a wider audience effectively. Many online learning sites are not user-friendly
or engaging. Students might get bored, find it hard to stay focused.Teachers want to
share their expertise but can’t always do so easily online. They might not have the right
tools to teach well or connect with students globally. This limits their reach and im-
pact.StudyBuddy aims to solve these problems. It wants to make learning fun and easy
for students while giving teachers a platform to shine and reach students worldwide. By
doing this, StudyBuddy hopes to make online education better for everyone involved.
1
1.2 Introduction to technology
The process of planning, building, testing, and deploying an entire web application from
scratch is known as full stack development. Working with a variety of technologies and
tools is required, including database development, front-end web development, and back-
end web development.full stack developers work in both the front end and the back end
of web development, which refers to the whole depth of a computer system programme.
Everything a client, or site visitor, can see and interact with is included in the front end.
Topics undertaken in full stack development are below mentioned
1. HTML: Hyper Text Markup Language is referred to as HTML. The most common
markup language for making Web pages is HTML. The layout of a Web page is described
in HTML.
2. CSS: The term "Cascading Style Sheets" is abbreviated as CSS. A computer language
called CSS is used to structure and organise HTML or XML-based web pages.
3. Tailwind: Tailwind is the most popular CSS framework to create rapidaly build modern
by MongoDB. It offers automatic scaling, global clusters, and advanced security features,
allowing developers to easily deploy, scale, and secure their MongoDB databases in the
cloud. With MongoDB Atlas, developers can focus on building their applications while
leaving the management of the underlying infrastructure to MongoDB’s experts.
2
1.3 Introduction to project
StudyBuddy is an advanced ed-tech platform made with the MERN stack, allowing users
to create, view, and rate educational content. It focuses on giving students an engaging
learning experience while providing instructors a platform to share their knowledge globally.
This overview will delve into its technical aspects, detailing system architecture, front-end
and back-end designs, API structures, deployment methods, testing procedures, and future
upgrade possibilities. In essence, StudyBuddy combines tech prowess with educational
goals, benefiting both learners and educators.
The StudyBuddy falls under the category of Education Technology (EdTech). It combines
elements of student to seamless and interactive learning experience and making education
more accessible and engaging. The system aims to instructors to showcase their expertise
and connect with learners across the globe.
1.5 Objectives
1) To seamless and interactive learning experience for students, making education more
accessible and engaging.
2) To platform for instructors to showcase their expertise and connect with learners across
the globe.
3) To Enable instructors to track and manage their earnings and can monitor students’
participation.
4) To monitor and track their course progress systematically.
Online education is growing, but many students and teachers face problems. Students
often struggle to find engaging lessons, while teachers find it hard to share their knowl-
edge with a wider audience effectively. Many online learning sites are not user-friendly
or engaging. Students might get bored, find it hard to stay focused.Teachers want to
3
share their expertise but can’t always do so easily online. They might not have the right
tools to teach well or connect with students globally. This limits their reach and im-
pact.StudyBuddy aims to solve these problems. It wants to make learning fun and easy
for students while giving teachers a platform to shine and reach students worldwide. By
doing this, StudyBuddy hopes to make online education better for everyone involved.
StudyBuddy is needed because students want fun and flexible learning, and teachers
need a good platform to teach, connect with students, and grow their audience and earn-
ings.
The existing system in StudyBuddy is built upon the principles of enhancing user experi-
ence, ensuring content quality, maintaining security, promoting personalized learning, and
continuously improving based on user feedback and needs.
4
compromising user trust and legal implications.
Lack of Customization: If the platform does not offer personalized learning paths, con-
tent recommendations, or adaptive learning features, it might not cater to diverse learn-
ing styles and preferences.
To mitigate these problems and achieve desired outcomes. StudyBuddy is focus on mak-
ing things easy and enjoyable for users and keep making the platform better based on
user feedback.
The proposed system, StudyBuddy aims to provide a seamless and interactive learning
experience for students, offering them a better way to access and engage with educational
content. For teachers, StudyBuddy is a place to show what they know, connect with stu-
dents worldwide, and expand their teaching reach.
• StudyBuddy is user-friendly, with clear navigation for both students and teachers.
• Provide secure and straightforward payment options for course enrollments and trans-
actions.
• Enable teachers on StudyBuddy to track student progress, engagement, and feedback
effectively.
• Implement strict data protection measures to safeguard user information and privacy.
• Use analytics and insights to help teachers optimize their courses, reach more students,
and grow professionally.
5
1.10 Unique Features of the System
• User Profiles: Create distinct profiles for students and instructors. Instructors can
showcase their qualifications, courses they offer, ratings, reviews, and other relevant in-
formation. Students can view their progress, enrolled courses, achievements, and more.
• Progress Tracking: Implement features like progress bars, checkpoints, and certificates
upon course completion. Students should be able to track their progress, revisit com-
pleted sections, and assess their understanding through regular quizzes and assessments.
• Notifications: Integrate a notification system while purchasing the course.
• Mobile Responsiveness: Ensure that the platform is mobile-responsive, allowing users
to access content and features seamlessly on various devices, including smartphones and
tablets.
6
2 Training Work Undertaken
2. CSS : CSS is used to specify a web page’s appearance, including its design, layout,
typefaces, and other behavioural elements. An overall Cascading Stylesheet was utilised
for the website rather than developing the layout designs for each page individually.As a
result, the web pages were uniform. Additionally, it included the adjustments necessary to
make the same content compatible with a variety of devices. The CSS file is typically kept
outside of the computer. Therefore, a developer just needs to alter the CSS file to alter
how a whole website looks. This results in significant time and effort savings. It safeguards
an organization’s financial health as well.
3. Tailwind : Tailwind CSS is a tool that helps web developers create websites more
easily. Instead of writing a lot of custom code, developers use ready-made "utility" classes
to style elements on the webpage quickly. This approach speeds up the design process and
keeps the code consistent.One great thing about Tailwind is its flexibility. Developers can
customize the styles, colors, spacing, and other design elements to match the specific look
and feel they want for their website. Plus, Tailwind makes it simple to create designs that
work well on both big computer screens and smaller mobile devices.Using Tailwind saves
developers time because they don’t have to write as much repetitive code. It also works well
with popular tools and frameworks that developers often use, making it easy to integrate
into different projects.
7
features to web sites that you couldn’t do with only HTML and CSS.JavaScript is a script-
ing language widely used by browsers to create dynamic online content. The effects of
JavaScript can be seen whenever a user sees a dropdown menu that can be clicked to re-
veal, additional content being added to a page, or dynamically changing element colours
on a page, to mention a few features.
5. React : React is one such front-end library that can build engaging user interfaces.
Full stack react development refers to using React as a Front-end Development framework
with a backend based on frameworks such as Node.The ideal way to create user interfaces
is by assembling little pieces of code (components) into complete websites. It was initially
created by Facebook, and is now maintained by the open-source community.
6. Redux : Redux serves as a centralized storage system for managing data in web
applications, particularly those developed with frameworks like React. Instead of scattering
data across various components or modules, Redux consolidates all application data into a
single entity known as the "store." This centralized approach streamlines data management,
making it easier to track, modify, and maintain the application state, especially as the
complexity of the application grows.
8
and efficient solution for storing, retrieving, and managing data in modern web applications.
Designed to address the limitations of traditional relational databases, MongoDB employs
a document-oriented data model, where data is stored in JSON-like BSON (Binary JSON)
documents, allowing developers to represent hierarchical relationships, arrays, and complex
data structures natively within a single document.
10. MongoDB Atlas : MongoDB Atlas is a fully managed cloud database service
provided by MongoDB. It offers automatic scaling, global clusters, and advanced security
features, allowing developers to easily deploy, scale, and secure their MongoDB databases
in the cloud. With MongoDB Atlas, developers can focus on building their applications
while leaving the management of the underlying infrastructure to MongoDB’s experts
The feasibility of the project is analyzed in this phase and an idea is put forward with very
general plan for the project and sometime estimates. During system analysis feasibility
study of the proposed system is to be carried out. This is to ensure that the proposed
system is not a burden to the user. Some understanding of the major requirements for the
system is essential. Four key considerations involved in the feasibility analysis are:
Time Feasibility: The project will be completed within a specified timeframe, ensuring
that all development, testing, and deployment activities are carried out efficiently.
9
A detailed project schedule will be created, outlining the tasks, milestones, and deadlines
to ensure timely completion.
Regular progress tracking and monitoring will be implemented to identify and address
any potential delays or bottlenecks.
The system will be designed to integrate with existing systems and databases, ensuring
seamless data exchange and interoperability. The tools and technologies used in the devel-
opment of this system are:
• Code Editor: Microsoft VS Code
• Languages: HTML,CSS, JavaScript and JSON.
This software are free to use and are available for students. To install all these in the
system, developer need any regular laptop/PC with minimum 16 GB RAM
10
Software Requirements:
Hardware Requirements:
• Display with a resolution of at least 1280x800 pixels for comfortable coding and
testing
• Optional: Mobile device (smartphone or tablet) for testing the responsive design of
the application
Note: The specific software and hardware requirements may vary depending on the op-
erating system and development preferences. It is advisable to refer to the documentation of
each software/library/framework for their detailed system requirements and compatibility.
11
2.3 Software Requirement Specification
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made
by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features
include support for debugging, syntax highlighting, intelligent code completion, snippets,
code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts,
preferences, and install extensions that add functionality.
In the Stack Overflow 2022 Developer Survey, Visual Studio Code was ranked the most
popular developer environment tool among 71,010 respondents, reporting that they use
it.
Hardware Requirements:
• Android Studio will require some heavy Lifting. Less than 16 GB can
• OS: This system can run on any latest, Linux OS, Windows 7/810/11.
Software Requirements:
13
2.4 Structure Of Project
React Project View where developer will have all files related to the project. Here, it
consists of Backend folder, src folder, public folder, node modules folder.
Backend Folder:
In Backend folder consist of 4 files and 1 folder of back-end server. The files are app.js,
package-lock.json, package.json, users.json. app.js contains all api’s of the back-end callings,
package-lock.json file contains dependencies for the server, users.json contains the login
credentials of every user
14
Figure 4: Server Folder
SRC Folder:
The majority of the project’s React code is written in the SRC folder, making it the most
significant one. The application’s entry point, main. React, is by default located in the
SRC directory. But this arrangement can be altered. These are helpful files which are used
by an application or a command or a process for their proper execution.Organizing your
files and directories within src effectively can help maintain a clean and scalable codebase,
making it easier to develop, debug, and expand your React application over time.
15
Figure 5: SRC Folder
User interface of VS Code includes a clean and intuitive design. It consists of a sidebar for
easy navigation, a central editor window for code editing, and a status bar for displaying
helpful information. The interface includes various panels for debugging, terminal access,
and version control integration. It offers a customizable and efficient environment for coding
tasks.
16
Figure 6: User Interface of IDE
User Requirements:
User must have Web Browser access. This application can only be used when they have
access to internet, user and the requests/responses to be shared on the application.
2.5 Validation
The process of evaluating software during the development process or at the end of the
development process to determine whether it satisfies specified requirements. Validation
Testing ensures that the product actually meets the client’s needs. It can also be defined
as to demonstrate that the product fulfills its intended use when deployed on appropriate
environment.
Dependencies are used to overcome the hurdles which could rise in the future. Various
modules and dependencies have been added to achieve the successful implementation of
the app. One of the most important dependency is that the device has access to internet.
One another important dependency that user knows the basic operations of web services..
Making an application is no mystery in today’s time however making a successful and user
friendly and attractive is a process which involves quite an extensive pre-planning. There
has been a meteoric rise in the web market in the past few years with millions of applications
are available. In such a case when the competition is so huge, don’t developers think that
17
they should be really thorough with the basic concepts of application development? Also,
developers have to really make it stand out in function, in its use and in its design to attract
the user’s attention. And to achieve all this developers have to get it right the very first time.
Since, it is so important for application to be spot-on the first time hence it is necessary
for them to follow a step by step process to building a Application Development Lifecycle
is just a representation of the conventional Software Development Lifecycle (SDLC) but
from the perspective of a browser.
Figure 7: SDLC
Once developers are done with the research and have laid down the costs involved then the
next phase involves preparing a detailed scope of work. They need to do a mental proto-
typing of their application and draw their ideas in the form of sketches on a whiteboard.
This will be the first visual representation of the ideas which they have collected in Phase
1 and it will help them uncover usability issues. Another thing which needs to be done in
this phase is to take the feedback of relevant people to get a perspective of what they think
about your idea. Discussing it with them will help them figure out the loopholes and allow
them to look for a solution to tackle with them.
Having an understanding of the visuals is not enough because they need to analyze whether
the backend systems will support the application’s functionality or not. To understand if
the idea of the application is technically feasible they need to get access to public data.
They also need to determine which platform they are building their application for, first.
Building an App shall have different requirements depending upon its languages such as
dart and so on.
19
approach for application development as it allows them to make changes, add new features
and keep evolving with the changing trends.
20
3 System Design
The most creative and challenging phase of the system life cycle is system design. The
term design describes a final system and the process by which it is developed. It refers to
the technical specification that will be applied in implementing the candidate system. It
also includes the construction of program testing. The key question here is how should
the problem be solved? The first step is to determine how the output is to be produced
and in what format. Samples of the output are also presented. Second input data and
master files had to be designed to meet the requirements of the proposed output. The
operational phase is handled through program construction and testing, including a list
of the programs needed to meet the system’s objective and complete documentation. Fi-
nally, details related to justification of the system and an estimate of the impact of the
candidate system on the user and the organization are documented and management as a
step toward implementation.
User :
This app lets the user login with their Unique id and password, the back-end will check
and redirect to the respective dashboards for different users like Instructor and Student.
21
3.3 System Design using various Structured analysis and design
tools
In an ed-tech platform featuring role-based access control, the Admin serves as the
overarching authority, wielding comprehensive control and oversight over all platform func-
tionalities, user management, content approval, financial transactions, and dispute resolu-
tion. Their responsibilities encompass creating, monitoring, and managing user accounts,
course content, instructor profiles, financial transactions, revenue sharing models, and user
feedback. On the other hand, Instructors operate within a more specialized domain, focus-
ing on content creation, course management, student engagement, and financial earnings.
They have the autonomy to develop, upload, and manage course materials, interact with
students, schedule live sessions, and receive payments for their services. Concurrently, Stu-
dents engage with the platform primarily as learners, accessing course offerings, interact-
ing with instructors, making secure payments, participating in discussions, and providing
valuable feedback through ratings and reviews. Their user experience emphasizes course
discovery, content access, interactive learning environments, and community engagement.
Collectively, this role-based structure ensures a harmonized, secure, and personalized user
experience, facilitating seamless interactions, knowledge sharing, collaboration, and growth
within the ed-tech ecosystem.
22
Figure 8: Use Case Diagram
23
2. Data Flow Diagram
Level 1 DFDs
Level 2 DFDs
24
3.4 Database Design
3.5 Methodology
This project is based on the MongoDB database, Node, Express and React based tech-
niques.
25
4 Implementation, Testing, and Maintenance
React
React is an open-source JavaScript library used for building user interfaces (UIs) in web
applications. It was developed by Facebook and has gained significant popularity due to its
efficiency and flexibility. React follows a component-based architecture, allowing developers
to create reusable UI components that update dynamically based on changes in application
state. It uses a virtual DOM (Document Object Model) to optimize rendering performance,
resulting in fast and responsive applications. React’s declarative syntax and one-way data
flow make it easier to reason about and maintain complex UIs. It is commonly used in
conjunction with other libraries or frameworks to build robust, scalable, and interactive
web applications.
Java Script
JavaScript is a high-level, interpreted programming language primarily used for front-end
26
web development. It allows developers to add interactivity and dynamic behavior to web-
sites and web applications. JavaScript can also be used for server-side programming with
the help of frameworks like Node.js.
• Dynamic typing: JavaScript is dynamically typed, meaning variable types are deter-
mined during runtime. This provides flexibility but also requires careful attention to
data types and error handling.
• Support for frameworks and libraries: JavaScript has a vast ecosystem of frameworks
and libraries, such as React, Angular, and Vue.js, that simplify and accelerate web
development by providing ready-to-use components and tools.
27
• Interoperability: JavaScript can interact with HTML and CSS, allowing developers
to manipulate web page elements, modify styling, and create dynamic content.
JavaScript has evolved significantly over the years and is now used not only for web de-
velopment but also for server-side scripting, mobile app development, and even desktop
application development. Its versatility, extensive community support, and continuous
updates make it a powerful and widely adopted programming language.
MongoDB Atlas
MongoDB Atlas is a fully-managed cloud database service provided by MongoDB, the com-
pany behind the popular NoSQL database, MongoDB. It offers a convenient and scalable
solution for deploying, managing, and scaling MongoDB databases in the cloud.
2. Automated Provisioning and Scaling: With MongoDB Atlas, you can easily pro-
vision new database instances with a few clicks. It provides automated scaling options,
allowing your databases to grow seamlessly as your application demands increase.
3. High Availability and Data Replication: MongoDB Atlas ensures high availability
by replicating your data across multiple geographic regions. It employs replica sets, where
data is automatically synchronized across multiple database instances, providing fault tol-
erance and disaster recovery capabilities.
4. Data Security and Compliance: Atlas offers various security features to protect
your data, including built-in encryption at rest, encryption in transit, and integrated au-
thentication mechanisms. It also supports compliance standards such as GDPR, HIPAA,
and SOC 2, ensuring that your data meets industry regulations.
5. Monitoring and Performance Optimization: MongoDB Atlas provides comprehen-
sive monitoring and performance analysis tools. You can track database metrics, receive
alerts, and utilize performance optimization recommendations to ensure your databases
perform optimally.
6. Backup and Point-in-Time Recovery: Atlas offers automated backup and point-
in-time recovery options. You can schedule backups and retain snapshots of your data,
allowing you to restore your databases to specific points in time.
9. Flexible Pricing Model: Atlas provides a flexible pricing model, allowing you to
choose from various plans based on your specific requirements. You can scale your database
29
resources up or down as needed, and pay only for the resources you use.
MongoDB Atlas simplifies the deployment and management of MongoDB databases, pro-
viding a reliable and scalable solution for modern application development. It allows devel-
opers to focus on building their applications without worrying about infrastructure man-
agement, ensuring a seamless and hassle-free database experience.
30
IDE’s Used:
• Android Studio:
Android Studio is the official integrated development environment for Google’s Android
operating system, built on JetBrains’ IntelliJ IDEA software and designed specifically for
Android development. It is available for download on Windows, macOS and Linux based
operating systems. To speed up the creation of apps, Android Studio offers a variety of
code samples and templates. To understand how to create various app components, see
sample code. Create new app modules, distinct activities, or other particular Android
project components using templates.
i. Unit Testing :
Unit testing is a level of software testing where individual units/ components of a software
are tested. The purpose is to validate that each unit of the software performs as designed.
A unit is the smallest testable part of any software. It usually has one or a few inputs and
usually a single output. In procedural programming, a unit may be an individual program,
function, procedure, etc. In object-oriented programming, the smallest unit is a method,
which may belong to a base/ super class, abstract class or derived/ child class. Unit testing
frameworks, drivers, stubs, and mock/ fake objects are used to assist in unit testing.
31
ii. Integration Testing :
Integration testing means testing in large. After testing all the units individually, the units
are integrated over the number of steps and tested after each step of integration, it is known
as integration testing.
o Black Box Testing-System test falls under the black box testing category of software
testing
o White Box Testing-is the testing of the internal workings or code of a software application.
In contrast, black box or System Testing is the opposite. System test involves the external
workings of the software from the user’s perspective.
32
5 Results and discussions
User-There are 2 different users with their respective dashboards. Each one have different
roles assigned to them by which the app can redirect to the respective dashboard.
• A student will login and will see "Student Dashboard" he will see a profile where he
can update the information about him. He can se his enrolled courses and he can
watch the video of courses and also see the Cart.
• Instructor will login to the "Instructor Dashboard" he will see a profile where he can
update the information about him. He can create course there and can public or
private also. Instructor also see the Students and their Earning Chart.
1. Login Page
Login page is the landing page for this project and has inputs: Email ID, Password. It also
have forgot password? and Sign In button.
33
2. SignUp Page for Student :
Student SignUp page have a input fields like First Name, Last Name, Email, Create Pass-
word and Confim Password and also have a Create Account button.
34
3. SignUp Page for Instructor :
Instructor SignUp page have a input fields like First Name, Last Name, Email, Create
Password and Confim Password and also have a Create Account button.
35
4. OTP Page :
Before going to Dashboard of Student and Instructor after SignUp will open one page which
is called One Time Password page for verify the Email
36
2. Student Dashboard :
Student Dashboard have options of My Profile, Enrolled Courses, Cart, Settings and Lo-
gOut button
37
6 Conclusions and Future Scope
In conclusion, this document outlines the architecture, features, and functionalities of the
StudyBuddy ed-tech platform. It highlights the use of MERN stack technologies and
REST API design and outlines the deployment process using free hosting services, Vercel
for the front-end, Render.com or Railway.app for the backend, and MongoDB Atlas for
the database. Additionally, it lists potential future enhancements that could be
implemented to improve the platform, along with their estimated timelines and priorities.
Throughout the development of the project, various achievements will be made in terms
of implementing the desired functionalities and creating a user-friendly interface.
However, there will be challenges to be faced during the development process, such as
integrating different technologies and debugging errors.
This section discusses potential future improvements to the StudyBuddy platform. These
enhancements are listed along with an explanation of how they would improve the platform
and priority for implementation.
2. Personalized learning paths: Creating personalized learning paths for each student
based on their interests and learning style can increase student satisfaction and suc-
cess. This would be a high-priority enhancement.
3. Social learning features: Adding social learning features such as group discussions,
peer-to-peer feedback, and collaborative projects can increase student engagement
and interaction. This would be a medium-priority enhancement.
38
4. Mobile app: Creating a mobile app for the platform would allow for more convenient
access to course content and features, and would increase the platform’s reach. This
would be a high-priority enhancement.
39
7 References
[1] Full Stack Open, "Full Stack Open," Full Stack Open. [Online]. Available: https://fulls
Accessed: Nov. 7, 2023.
Nov.7, 2023.
Nov.7, 2023.
[6] Tutorialspoint, ”JavaScriptTutorial, ”Tutorialspoint.[Online].Available : https :
40