Major Project Format-1-1
Major Project Format-1-1
CERTIFICATE
This is to certify that the work embodied in this project work entitled “Study
Notion” has been satisfactorily completed by the Piyush Mahajan
(0103IT211129), Ritesh Sharma (0103IT211156) , Abhimat Pandey
(0103IT211008). It is a Bonafide piece of work, carried out under the guidance in
Department of Information Technology, Lakshmi Narain College of
Technology, Bhopal for the partial fulfillment of the Bachelor of Technology
during the academic year 2024-2025.
Guide By Approved By
i
LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL
DEPARTMENT OF INFORMATION TECHNOLOGY
ACKNOWLEDGEMENT
We would also thank our institution and all the faculty members without
whom this project work would have been a distant reality.
(Signature) (Signature)
Piyush Mahajan[0103IT211129] Ritesh Sharma[0103IT211156]
(Signature)
Abhimat Pandey[0103IT211008]
ii
INDEX
1. Introduction 1
2. Literature Survey 4
6. ER Diagram/Flow Diagram 14
7. Software Specification 18
9. Coding 31
10. Conclusion 54
11. References 55
iii
CHAPTER 1
INTRODUCTION
1
1.2.2 Content Creation and Delivery
Ed Tech platforms focus on creating and delivering educational content in various formats,
including text, video, audio, and interactive multimedia. This involves ensuring content is
engaging, accessible, and aligns with educational objectives.
1.2.6 Gamification
Some platforms incorporate gamification elements to make learning more engaging. This
includes the use of game-like elements such as points, badges, and leaderboards to motivate and
reward students.
2
1.2.8 Accessibility and Inclusivity
Ensuring that the platform is accessible to all learners, including those with diverse abilities and
backgrounds, is a key consideration. This involves designing interfaces and content that are
inclusive and accommodate various learning needs.
3
CHAPTER 2
LITERATURE SURVEY
EdTech allows students to learn from virtually anywhere. There are no longer restrictions
keeping students and teachers in the classroom or even in the same geographic location as their
instructors.
EdTech gives teachers the flexibility to create different learning plans for each student if the
course is asynchronous (self-paced) rather than synchronous (taught in real time).
EdTech resources expand instructors’ options for engaging students. They might give students
the ability to visit new locations through videos or play educational games, or they could even
use augmented reality (AR) or virtual reality (VR) to enhance a lesson.
EdTech resources expand instructors’ options for engaging students. They might give students
the ability to visit new locations through videos or play educational games, or they could even
use augmented reality (AR) or virtual reality (VR) to enhance a lesson.
When teaching resources are exclusively online, students and instructors can easily collaborate
on assignments during class and after school. Platforms like social media, collaborative wiki
pages, and interactive whiteboards also allow students to work together easily and virtually.
Before EdTech changed how students learn, getting in touch with a teacher outside of school
was difficult. Now, with messaging apps and virtual meetings, a student may be able to get real-
time help when they need it — if the instructor is available, of course.
4
Edtech opens up opportunities for educators to craft personalized learning plans for each of their
students. This approach aims to customize learning based on a student’s strengths, skills and
interests. Video content tools help students learn at their own pace and because students can
pause and rewind lectures, these videos can help students fully grasp lessons.
Educational technology has the potential to make everything — from the way teachers
communicate with their students to how students behave — a little easier. There are now apps
that help send parents and students reminders about projects or homework assignments, as well
as tools that allow students to self- monitor classroom noise levels.
According to research, 74% of college students desire mobile accessibility to their course
materials. Thus, one of the primary goals of any top educational app development firm is to
foster increased student engagement.
The importance of educational technology lies in its ability to cater to the unique needs of
individual learners. Custom Edu Tech solutions use data- driven algorithms, AI, and ML
techniques. These technologies help construct customized learning trajectories. These
technologies consider each student’s strengths, weaknesses, and preferences.
One of the biggest advantages of using Edtech is the reduced amount of paper used in the
classroom. Millions of trees are cut down each year to provide paper to schools. If more
educational facilities used technology, the number of trees that would have to be cut down
would be massively reduced.
5
CHAPTER 3
3.1 Objective
The major objective of our EdTech project is to revolutionize the way education is delivered and
accessed, making it more accessible, engaging, and effective for learners of all ages and
backgrounds. In today's fast-paced, digital world, traditional educational methods are no longer
sufficient in meeting the diverse and evolving needs of students. Our project aims to bridge the
gap by harnessing the power of technology to enhance the educational experience.
6
3.1.3 Enhancing Reachability
Another key objective is to support educators in their teaching endeavors. We recognize the
vital role that teachers and instructors play in the education system. Our EdTech project will
provide a wealth of resources, tools, and training opportunities for educators, helping them to
adapt to the changing landscape of education and become more effective in their roles. By
empowering educators with the latest teaching methodologies and technology tools, we aim to
create a symbiotic relationship that benefits both students and teachers.
7
3.2 Project Scope
8
3.2.5 Virtual Reality/Augmented Reality
Our EdTech project will explore emerging technologies such as virtual reality (VR) and
augmented reality (AR) to create immersive and interactive learning experiences. By embracing
these innovative technologies, we intend to push the boundaries of traditional education and
provide a unique and memorable learning journey.
9
CHAPTER 4
A thorough problem analysis is essential for any EdTech (Education Technology) project, as it
lays the foundation for understanding the challenges within the education sector that the project
aims to address. In this 500-word paragraph, we will delve into the key problems and issues that
our EdTech project seeks to tackle.
One of the central problems our EdTech project aims to address is the lack of access to quality
education. This issue is particularly prevalent in remote and underserved areas, where traditional
educational institutions are scarce or of low quality. As the world becomes increasingly digital,
it is essential to bridge this educational divide. The lack of access to quality education
perpetuates inequality, limiting the opportunities available to those who are geographically
isolated or economically disadvantaged.
Additionally, the traditional education system often struggles to keep students engaged and
motivated. The problem of disengagement is multifaceted and is exacerbated by outdated
teaching methods and a one-size-fits-all approach to education. Students have diverse learning
styles and interests, and the conventional classroom setting may not cater to their individual
needs. This leads to a decline in academic performance, decreased interest in learning, and even
dropouts, hindering the development of a skilled and knowledgeable workforce.
Moreover, educators face their own set of challenges within the current education system.
Teachers are often burdened with excessive administrative tasks, large class sizes, and limited
resources, leaving them with little time to focus on personalized instruction and innovative
teaching methods. The problem of teacher burnout is prevalent, with many educators feeling
overwhelmed and undervalued.
10
The pace of change in the modern world also presents a problem. With rapid technological
advancements and evolving job markets, individuals need to acquire new skills continuously.
The traditional education system often falls short in preparing learners for this dynamic
environment. As a result, the problem of skill obsolescence arises, leaving individuals
unprepared for the demands of the workforce and hindering their personal and professional
growth.
Another problem that our EdTech project aims to address is the lack of personalized learning
experiences. Traditional classrooms struggle to tailor instruction to the unique needs and
interests of each student. This one-size-fits-all approach leaves many learners underserved, as
they may not receive the support they need to excel. Personalization is key to unlocking the full
potential of every learner.
The lack of data-driven insights within the education system is a significant problem. Educators
and institutions often lack the tools and resources to collect and analyze data on student
performance and engagement. This results in a lack of evidence-based decision-making and
hinders the ability to identify and address areas of improvement in the educational process.
Emerging technologies such as virtual reality (VR) and augmented reality (AR) remain largely
untapped in the education sector. These technologies have the potential to create immersive and
interactive learning experiences, but the problem lies in the slow adoption of these innovations
within traditional classrooms, limiting the possibilities for engaging and effective teaching.
11
CHAPTER 5
12
CHAPTER 6
ER DIAGRAM/FLOW DIAGRAM
13
6.2 Architecture Diagram
Here is a high-level diagram that illustrates the architecture of the StudyNotion ed-
tech platform:
6.3 Front-End
The front end is part of the platform that the user interacts with. It's like the "face"
of the platform that the user sees and interacts with. The front end of Study Notion
is designed using a tool called Figma, which is a popular design tool that allows for
the creation of clean and minimal user interfaces.
The front end of StudyNotion has all the necessary pages that an ed-tech platform
should have. Some of these pages are:-
Homepage: This page will have a brief introduction to the platform, as well as links
to the course list and user details.
Course List: This page will have a list of all the courses available on the
14
platform, along with their descriptions and ratings.
Wishlist: This page will display all the courses that a student has added to their
Wishlist.
Cart Checkout: This page will allow the user to complete the course purchase.
Course Content: This page will have the course content for a particular course,
including videos, and other related material.
User Details: This page will have details about the student's account, including their
name, email, and other relevant information.
User Edit Details: This page will allow the student to edit their account details.
Dashboard: This page will have an overview of the instructor's courses, as well
as the ratings and feedback for each course.
Insights: This page will have detailed insights into the instructor's courses,
including the number of views, clicks, and other relevant metrics.
Course Management Pages: These pages will allow the instructor to create,
update, and delete courses, as well as manage the course content and pricing.
View and Edit Profile Details: These pages will allow the instructor to view and
edit their account details.
15
6.3.3 For Admins(This is for future scope)
Insights: This page will have detailed insights into the platform's metrics,
including the number of registered users, courses, and revenue.
Instructor Management: This page will allow the admin to manage the
platform's instructors, including their account details, courses, and ratings.
Other Relevant Pages: The admin will also have access to other relevant pages,
such as user management and course management pages.
To build the front end, we use frameworks and libraries such as ReactJS, which is a
popular JavaScript library for building user interfaces. We also use CSS and
Tailwind, which are styling frameworks that help make the user interface look good
and responsive. Additionally, we use some npm packages to add extra functionality
to the front end. To manage the state of the application, we use Redux, which is a
popular state management library for React. Finally, we use a development
environment called VS Code, which is a popular code editor, to develop the front
end.
16
6.4 Back-End
Study Notion uses a monolithic architecture, with the backend built using Node.js
and Express.js, and MongoDB as the primary database. Monolithic architecture
refers to a design approach where all the modules of the application are combined
into a single large program, with a single codebase, to enable better control,
security, and performance.
User authentication and authorization: Students and instructors can sign up and log
in to the platform using their email addresses and password. The platform also
supports OTP (One-Time Password) verification and forgot password functionality
for added security.
Course management: Instructors can create, read, update, and delete courses, as
well as manage course content and media. Students can view and rate courses.
Payment Integration: Students will purchase and enrol on courses by completing
the checkout flow that is followed by Razorpay integration for payment handling.
17
CHAPTER 7
SOFTWARE SPECIFICATION
Before start creating our app, there are a few things that we have to take into
consideration.
MERN stack, React can become a companion to the other technologies for
developing JavaScript and JSON-oriented applications. Figure 1 below illustrates
the architecture of the MERN stack technology:
18
As illustrated, the MERN stack is constructed based on the well-known 3-tier
architecture. which confirms that the MERN stack is full-stack application
development. The MERN stack consists of three components: display layer
powered by React, application layer with NodeJS and Express, and database
tier provided by MongoDB.
7.1.2 MongoDB
7.1.3 Express JS
Express.js is a routing and middleware framework for managing the many routing
options for a website. It operates between the request and response
cycles. Middleware is invoked after the server receives the request and before the
controller actions transmit the response. One or more pieces of middleware are
executed to perform particular tasks, such as authorizing requests or parsing request
content. Express applications are composed of a sequence of middleware function
calls. Typically, the first middleware executed to process the request initiates the
task pipeline. The initial middleware can either complete the request and provide it
to the users or call the subsequent middleware to continue the request.
19
The same approach will be continued until the pipeline's last middleware takes the
result of the preceding middleware as input.
7.1.4 React
React, representing the letter 'R' in the MERN stack, focuses on creating the View
Layer, which is well-known for all visible parts of the page of an application. React
is a multi-purposed, open-source JavaScript library used for building user interfaces
based on UI components.
Since React was established to cope with sophisticated, large-scale user interfaces
combined with real-time dynamic data and data binding, it has been steadily
improving its single-page application development and frontend utilities for
programmers of all levels.
7.1.5 Node JS
20
7.1.6 JWT
JWT (JSON Web Tokens) are used for authentication and authorization, providing
a secure and reliable way to manage user credentials.
7.1.7 Bcrypt
Bcrypt is used for password hashing, adding an extra layer of security to user data.
7.1.8 Mongoose
21
It is a source-code editor made by Microsoft with the Electron Framework,
for Windows, Linux and macOS.[10] 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, with 74.48%
reporting that they use it.
22
CHAPTER 8
23
Fig 8.2 : Log In Page
25
Fig 8.6 : Course Content Page
26
Fig 8.8 : Update Password Page
27
Fig 8.10 : Wishlist Page
28
Fig 8.12 : Course Details Page
29
Fig 8.13 : About Us Page
30
CHAPTER 9
CODING
9.1. Index.js
import "./index.css";
reducer: rootReducer,
});
root.render(
<React.StrictMode>
<Provider store={store}>
31
<BrowserRouter>
<App />
<Toaster />
</BrowserRouter>
</Provider>
</React.StrictMode>
);
9.2. App.js
import "./App.css";
function App() {
return (
<Routes>
<Route
element={
<PrivateRoute>
<Dashboard />
</PrivateRoute>
}>
33
<Route path="/dashboard/settings" element={<MyProfile />} />
<Route
path="/dashboard/enrolled-courses"
element={<EnrolledCourses />}/>
</Route>
</Routes>
<Footer />
</div>
);
};
34
9.3. HomePage Component
import "./Gradient.css";
position,
heading,
subheading,
b1text,
b2text,
codeblock,
bggradient,
codecolor,
}) => {
return (
<div
35
{heading}
<Button
text={b1text.text}
active={b1text.active}
links={b1text.links}
arrow={b1text.arrow}
flex
items-center
gap-2
>
<FaArrowRight />
</div>
</Button>
<Button
text={b2text.text}
active={b2text.active}
links={b2text.links}
></Button>
</div>
36
<div></div>
</div>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
</div>
<div
37
>
<TypeAnimation
repeat={Infinity}
omitDeletionAnimation={true}
cursor={true}
style={{
whiteSpace: "pre-line",
display: "block",
}}
/>
</div>
</div>
</div>
);
};
return (
<div>
<div>About Us</div>
</header>
39
</p>
</div>
</div>
</div>
</section>
</div>
"
</span>{" "}
</span>
40
, and community to create an
</span>
</div>
c. </h1>
e. <div>
41
v. learning opportunities in a rapidly evolving digital world.
f. </div>
g. <div>
vii. potential.
i. </div>
j. </div>
k. </div>
n. </div>
</div>
i. <div>
v. </h1>
a. <div className="text-[12px] text-richblack-200">
h. </div>
i. </div>
j. <div>
m. </h1>
43
t. through forums, live sessions, and networking opportunities.
u. </p>
v. </div>
</div>
<Stats />
<LearningGrid />
<ContactFormSection />
</div>
</div>
<Footer />
</div>
);};
return (
<div>
);};
return (
</p>
</p>
</p>
</div>
</div>
</p>
</div>
46
</div>
</div>
</h2>
</p>
<ContactUsForm />
</div>
</div>
);};
9.7. Sign Up
return (
<div>
47
<Template
image={signup}
formType={"Signup"}
/>
</div>
);
};
if (authLoading || profileLoading) {
return (
48
<Spinner />
</div>
);
return (
<SideBar />
<Outlet />
</div>
</div>
</div>
);
};
49
"../components/core/ViewCourse/VideoDetail
sSidebar"
import {
getFullDetailsOfCourse } from
"../services/operations/courseD
etailsAPI"
import {
setCompletedLectures,
setCourseSectionData,
setEntireCourseData,
setTotalNoOfLectures,
} from "../slices/viewCourseSlice"
useEffect(() => {
;(async () => {
dispatch(setCourseSectionData(courseData.courseDetails.courseContent))
dispatch(setEntireCourseData(courseData.courseDetails))
dispatch(setCompletedLectures(courseData.completedVideos))
let lectures = 0
50
courseData?.courseDetails?.courseContent?.forEach((sec) => {
lectures += sec.subSection.length
})
dispatch(setTotalNoOfLectures(lectures))
})()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
return (
<>
<div className="mx-6">
<Outlet />
</div>
</div>
</div>
{reviewModal &&
<CourseReviewModal
setReviewModal={setReviewM
odal} />}
</>
)}
51
Backend
const express = require("express");
require("dotenv").config();
DBConnect();
app.use(cookieParser());
app.use(express.json());
app.use(
fileUpload({
useTempFiles: true,
tempFileDir: "/tmp",
})
52
);
cloudinaryConnect();
app.use("/api/v1/auth", userRoutes);
app.use("/api/v1/profile", profileRoutes);
app.use("/api/v1/payment", paymentRoutes);
app.use("/api/v1/course", courseRoutes);
res.json({
success: true,
});
});
app.listen(PORT, () => {
});
53
CHAPTER 10
CONCLUSION
In conclusion, this document outlines the architecture, features, and functionalities of the
StudyNotion 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 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.
54
CHAPTER 11
REFERENCES
55