Skip to content

Repository files navigation

πŸ“š Study Notion

Empowering Education Through Technology

React Node.js MongoDB Tailwind CSS License

A modern, responsive online learning platform designed to deliver an intuitive and seamless experience for students, educators, and administrators.

πŸ› Report Bug β€’ ✨ Request Feature


🌟 Overview

Study Notion is a comprehensive e-learning platform that bridges the gap between educators and learners. Built with cutting-edge technologies, it provides a robust, scalable, and user-friendly environment for online education.

✨ Key Features

πŸŽ“ Interactive Learning

Smooth navigation and an engaging interface designed to enhance the student learning experience.

πŸ“š Course Management

Powerful tools for creating, managing, and accessing courses with ease.

πŸ“Š Personalized Dashboard

Track progress, monitor performance, and manage your learning journey.

🌐 Responsive Design

Fully optimized for all devices - desktop, tablet, and mobile.

⚑ High Performance

Built with modern web technologies ensuring fast load times and scalability.

πŸ”’ Secure & Reliable

Industry-standard security with JWT authentication and encrypted passwords.


πŸ› οΈ Tech Stack

Frontend

βš›οΈ  React.js          - UI Library
🎨  Tailwind CSS      - Utility-first CSS Framework
🧩  Shadcn UI         - Re-usable Component Library

Backend

🟒  Node.js           - JavaScript Runtime
πŸš‚  Express.js        - Web Application Framework
πŸƒ  MongoDB           - NoSQL Database
πŸ“¦  Mongoose          - MongoDB Object Modeling

Additional Services & Tools

☁️  Cloudinary        - Media Storage & Optimization
πŸ’³  Stripe            - Payment Processing
πŸ”  JWT               - Authentication & Authorization
πŸ”’  Bcrypt.js         - Password Hashing
πŸ“§  Nodemailer        - Email Service

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18.x or higher)
  • npm or yarn
  • MongoDB (local or cloud instance)

οΏ½ Installation

1️⃣ Clone the repository

git clone https://github.com/SinghAnsh07/StudyNotion-AnshSingh.git
cd StudyNotion-AnshSingh

2️⃣ Install dependencies

# Install frontend dependencies
npm install

# Install backend dependencies
cd server
npm install
cd ..

3️⃣ Configure environment variables

Create .env files in the following locations:

Root .env (Frontend)

VITE_API_URL=http://localhost:4000/api/v1
VITE_CLOUDINARY_CLOUD_NAME=your_cloudinary_name

server/.env (Backend)

PORT=4000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
MAIL_HOST=smtp.gmail.com
MAIL_USER=your_email@gmail.com
MAIL_PASS=your_email_password

4️⃣ Run the development servers

# Run both frontend and backend concurrently
npm run dev

The application will be available at:

  • Frontend: http://localhost:5173
  • Backend: http://localhost:4000

πŸ“‚ Project Structure

StudyNotion-AnshSingh/
β”œβ”€β”€ πŸ“ public/              # Static assets
β”œβ”€β”€ πŸ“ src/                 # Frontend source code
β”‚   β”œβ”€β”€ πŸ“ components/      # React components
β”‚   β”œβ”€β”€ πŸ“ pages/           # Page components
β”‚   β”œβ”€β”€ πŸ“ services/        # API services
β”‚   β”œβ”€β”€ πŸ“ utils/           # Utility functions
β”‚   └── πŸ“„ App.jsx          # Main App component
β”œβ”€β”€ πŸ“ server/              # Backend source code
β”‚   β”œβ”€β”€ πŸ“ controllers/     # Route controllers
β”‚   β”œβ”€β”€ πŸ“ models/          # Database models
β”‚   β”œβ”€β”€ πŸ“ routes/          # API routes
β”‚   β”œβ”€β”€ πŸ“ middleware/      # Custom middleware
β”‚   └── πŸ“„ index.js         # Server entry point
β”œβ”€β”€ πŸ“„ package.json         # Frontend dependencies
└── πŸ“„ README.md            # You are here!

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License.


πŸ‘¨β€πŸ’» Author

Ansh Singh


⭐ Star this repository if you find it helpful!

Made with ❀️ by Ansh Singh

About

A full-stack EdTech e-learning platform designed for students, instructors, and admins. Features user dashboards, interactive course creation & management, Stripe payment processing, and Cloudinary media optimization. Built using React, Tailwind CSS, Shadcn UI, Node.js, Express, and MongoDB.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages