StudyNotion is a web-based EdTech platform that enables students to access a wide range of courses and instructors to manage their content. It offers full authentication, secure payment processing, and a user-friendly interface(completely responsive design).
StudyNotion is a comprehensive EdTech platform that caters to both students and instructors. Students can explore courses, make purchases, and track their progress. Instructors can manage courses, gather insights, and interact with their students effectively.
desktopPreview.mp4
To set up and run StudyNotion locally for development, follow the steps below:
Before you begin, ensure you have the following installed:
- Node.js
- MongoDB
- Git
-
Clone the repository:
git clone https://github.com/Sujeet76/StudyNotion.git
-
Navigate to the project directory:
cd StudyNotion
-
Install frontend dependencies:
cd client npm install
-
Install backend dependencies:
cd server npm install
-
Set up environment variables as described in
sample.env.text
files in theclient
andserver
directories. -
Start the client and server(backend) servers:
# In the client(frontend) directory npm run dev # In the server(backend) directory npm run dev
StudyNotion offers a range of features for both students and instructors.
- Homepage: Provides an introduction to the platform and links to course lists and user details.
- Course List: Displays available courses, including descriptions and ratings.
- Wishlist: Shows courses added to a student's wishlist.
- Cart Checkout: Allows users to purchase courses.
- Course Content: Provides course materials, including videos and related content.
- User Details: Displays account information, including name and email.
- User Edit Details: Enables users to edit their account details.
- Dashboard: Offers an overview of instructor courses, ratings, and feedback.
- Insights: Provides detailed course metrics, such as views and clicks.
- Course Management Pages: Allows instructors to create, update, and delete courses, as well as manage content and pricing.
- View and Edit Profile Details: Allows instructors to view and edit their account information.
StudyNotion employs a monolithic architecture, with the back end built using Node.js and Express.js, and MongoDB as the primary database. Monolithic architecture combines all application modules into a single program, ensuring control, security, and performance.
The StudyNotion back end offers the following features:
- User Authentication and Authorization: Supports user registration, login, OTP verification, and password recovery.
- Course Management: Enables instructors to perform CRUD operations on courses and manage content.
- Payment Integration: Facilitates course purchases with Razorpay integration for payment handling.
- Cloud-Based Media Management: Utilizes Cloudinary for storing and managing media content, including images, videos, and documents.
- Markdown Formatting: Stores course content in Markdown format for efficient rendering on the front end.
The back end uses the following technologies:
- Node.js: As the primary framework.
- MongoDB: As the primary database.
- Express.js: As a web application framework.
- JWT: For secure authentication and authorization.
- Bcrypt: For password hashing.
- Mongoose: As an Object Data Modeling (ODM) library for MongoDB interactions.
The front end of StudyNotion is built using ReactJS, a powerful library for creating dynamic and responsive user interfaces. ReactJS ensures an engaging learning experience for students by offering a user-friendly interface that communicates with the back end through RESTful API calls.
- React: AS the primary framework
- Redux tool kit : For state management
- Framer motion: For animation
This README provides an overview of StudyNotion, its architecture, features, and technologies used in both the front-end and back-end. For demo visit our website at https://studynotion-edtech-pied.vercel.app/.
For any questions or support, feel free to reach out to us at ksujeetkumar7678@gmail.com.