Skip to content

chandrakanth109/StudyNotion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ StudyNotion

A full-stack Learning Management System (LMS) built using the MERN Stack that enables instructors to create and manage courses while allowing students to enroll, learn through video lectures, track their progress, and interact with course content through ratings and reviews.


๐Ÿ“– Project Overview

StudyNotion is a scalable EdTech platform designed to provide a seamless online learning experience for Students, Instructors, and Admins. The platform offers secure authentication, role-based authorization, course management, progress tracking, and a responsive user interface.

During the development of this project, I designed and implemented a complete full-stack architecture using MongoDB, Express.js, React.js, and Node.js. I built secure JWT-based authentication with bcrypt password hashing and implemented role-based access control to ensure controlled access for different user roles.

The backend exposes RESTful APIs for user authentication, course creation and management, section and lecture management, student enrollment, progress tracking, and course ratings. On the frontend, I developed a modern and responsive user interface using React.js, Redux Toolkit, and Tailwind CSS, following a modular component-based architecture. The project also integrates Cloudinary for media storage and utilizes efficient MongoDB schema design for managing users, courses, lectures, and student progress.


โœจ Features

๐Ÿ‘จโ€๐ŸŽ“ Student

  • User Registration & Login
  • Browse and Search Courses
  • Enroll in Courses
  • Watch Video Lectures
  • Track Learning Progress
  • Rate & Review Courses
  • Update User Profile

๐Ÿ‘จโ€๐Ÿซ Instructor

  • Create, Update & Delete Courses
  • Manage Sections and Lectures
  • Upload Course Content
  • View Student Enrollments
  • Instructor Dashboard

๐Ÿ” Authentication & Security

  • JWT Authentication
  • Password Hashing using bcrypt
  • Protected Routes
  • Role-Based Authorization

๐Ÿ“ฑ User Experience

  • Fully Responsive Design
  • Modern UI with Tailwind CSS
  • Reusable React Components
  • Fast and Interactive User Experience

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React.js
  • Redux Toolkit
  • React Router
  • Tailwind CSS
  • Axios

Backend

  • Node.js
  • Express.js

Database

  • MongoDB
  • Mongoose

Authentication

  • JWT (JSON Web Tokens)
  • bcrypt

Cloud & Utilities

  • Cloudinary
  • Nodemailer

๐Ÿ“‚ Project Structure

StudyNotion
โ”‚
โ”œโ”€โ”€ client
โ”‚   โ”œโ”€โ”€ public
โ”‚   โ”œโ”€โ”€ src
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ server
โ”‚   โ”œโ”€โ”€ config
โ”‚   โ”œโ”€โ”€ controllers
โ”‚   โ”œโ”€โ”€ middleware
โ”‚   โ”œโ”€โ”€ models
โ”‚   โ”œโ”€โ”€ routes
โ”‚   โ”œโ”€โ”€ utils
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ””โ”€โ”€ README.md

๐Ÿš€ Installation

Clone the Repository

git clone https://github.com/yourusername/StudyNotion.git

Navigate to the Project

cd StudyNotion

Install Dependencies

Frontend

cd client
npm install

Backend

cd ../server
npm install

๐Ÿ”‘ Environment Variables

Create a .env file inside the server directory and configure the following variables:

PORT=

MONGODB_URL=

JWT_SECRET=

MAIL_HOST=
MAIL_USER=
MAIL_PASS=

CLOUD_NAME=
API_KEY=
API_SECRET=

FOLDER_NAME=

Note: Never commit your .env file or any sensitive credentials to GitHub.


โ–ถ๏ธ Running the Project

Start Backend

cd server
npm run dev

Start Frontend

cd client
npm start

๐Ÿ“ธ Screenshots

Add screenshots of the following pages:

  • Home Page
  • Login Page
  • Student Dashboard
  • Instructor Dashboard
  • Course Details Page
  • Course Creation Page

๐ŸŽฏ Key Highlights

  • Full-Stack MERN Application
  • RESTful API Architecture
  • Secure JWT Authentication
  • Role-Based Authorization
  • Responsive User Interface
  • Cloudinary Media Integration
  • Course & Lecture Management
  • Student Progress Tracking
  • Modular & Scalable Codebase
  • Clean Folder Structure

๐Ÿ”ฎ Future Enhancements

The platform can be extended with several advanced features, including:

  • ๐Ÿ’ณ Payment Gateway Integration (Stripe/Razorpay)
  • ๐Ÿ“น Live Classes using WebRTC or Zoom API
  • ๐Ÿ’ฌ Real-Time Chat & Discussion Forums
  • ๐Ÿค– AI-Powered Course Recommendations
  • ๐Ÿ“Š Instructor Analytics Dashboard
  • ๐Ÿ“œ Course Completion Certificates
  • ๐Ÿ“ Online Quizzes & Assessments
  • ๐Ÿ”” Push & Email Notifications
  • ๐ŸŒ Multi-language Support
  • ๐Ÿ“ฑ Progressive Web App (PWA)
  • ๐Ÿ“ฅ Downloadable Course Resources
  • ๐ŸŒ™ Dark Mode
  • ๐Ÿ” Advanced Search & Filtering

๐Ÿ“š Learning Outcomes

Through this project, I gained practical experience in:

  • Building scalable full-stack MERN applications
  • Designing RESTful APIs following industry best practices
  • Implementing secure authentication and authorization using JWT
  • Managing application state with Redux Toolkit
  • Designing efficient MongoDB schemas and relationships
  • Integrating third-party cloud services like Cloudinary
  • Building reusable React components
  • Creating responsive user interfaces using Tailwind CSS
  • Organizing production-ready backend architecture
  • Using Git and GitHub for version control and collaboration

๐Ÿค Contributing

Contributions, suggestions, and feature requests are welcome. Feel free to fork the repository, create a new branch, and submit a pull request.


๐Ÿ“„ License

This project is developed for educational and portfolio purposes.


๐Ÿ‘จโ€๐Ÿ’ป Author

Chandra Kanth


โญ If you found this project useful, consider giving it a Star on GitHub!

About

A full-stack EdTech platform built with the MERN stack featuring JWT authentication, role-based access, course management, video streaming, progress tracking, and a responsive React + Tailwind CSS interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors