Skip to content

StudyNotion is a learning platform that offers courses, reviews, and categorized content to make learning easy and organized.

Notifications You must be signed in to change notification settings

gyanprakash03/StudyNotion-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StudyNotion

StudyNotion is a fully functional ed-tech platform designed to provide a seamless and interactive learning experience for students while offering instructors a space to showcase their expertise and connect with learners globally. Built using the MERN stack (MongoDB, ExpressJS, ReactJS, and NodeJS), this platform combines robust architecture with an intuitive user interface.

Table of Contents

  1. Features
  2. System Architecture
  3. Tech Stack
  4. Setup and Installation
  5. API Design
  6. Deployment
  7. Testing
  8. Future Enhancements
  9. Contact
  10. Screenshots

Features

For Students

  • Browse and search courses.
  • Wishlist and purchase courses.
  • Consume course content (videos, documents, etc.).
  • Manage profile and account details.

For Instructors

  • Create, update, and delete courses.
  • Manage course content and pricing.
  • Track performance with dashboards and insights.

General Features

  • User authentication with OTP and password reset functionality.
  • Razorpay payment integration for secure transactions.
  • Cloud-based media management using Cloudinary.

System Architecture

The platform follows a client-server architecture comprising three main components:

Front-End

  • Built with ReactJS, delivering dynamic and responsive user interfaces.
  • Communicates with the back end using RESTful APIs.

Back-End

  • Powered by Node.js and Express.js for scalable and secure server-side functionality.
  • Provides APIs for features like user authentication, course management, and payment handling.

Database

  • MongoDB for flexible, scalable storage of course content and user data.
  • Stores unstructured and semi-structured data like videos, images, and documents.

Architecture Diagram

(Insert your architecture diagram here)


Tech Stack

  • Front-End: ReactJS, Tailwind CSS
  • Back-End: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JWT, Bcrypt
  • Cloud Storage: Cloudinary
  • Payment Gateway: Razorpay

Setup and Installation

Clone the repository:

git clone https://github.com/gyanprakash03/StudyNotion-Project 
cd StudyNotion  

Install dependencies:

For the backend:

cd Server  
npm install

For the frontend:

cd Client  
npm install

Configure environment variables:

Create a .env file in the Server directory. Add the following:

MONGO_URI=<your-mongodb-uri>  
JWT_SECRET=<your-jwt-secret>  
CLOUDINARY_URL=<your-cloudinary-url>  
RAZORPAY_KEY_ID=<your-razorpay-key-id>  
RAZORPAY_KEY_SECRET=<your-razorpay-key-secret>

API Design

The platform's back end provides a comprehensive set of APIs. Key functionalities include:

User Authentication

  • Signup, login, OTP verification, and password recovery.

Course Management

  • CRUD operations for courses and content.

Payment Integration

  • Secure checkout using Razorpay.

Deployment

The platform is deployed in the following environment:

  • Backend hosted on Render
  • Frontend hosted on Vercel
  • Database hosted on MongoDB Atlas

Testing

  • End-to-end testing for overall functionality.
  • Postman used for API testing.

Future Enhancements

  • Gamification: Add badges and rewards to enhance student engagement.
  • Live Sessions: Enable real-time interaction between students and instructors.
  • Search Functionality: Add a global search feature for courses, instructors, and content.

Contact

For inquiries, please contact: [email protected]


Screenshots

Screenshot1

Screenshot2

Screenshot2

About

StudyNotion is a learning platform that offers courses, reviews, and categorized content to make learning easy and organized.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published