A modern, responsive online learning platform designed to deliver an intuitive and seamless experience for students, educators, and administrators.
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.
|
Smooth navigation and an engaging interface designed to enhance the student learning experience. Powerful tools for creating, managing, and accessing courses with ease. Track progress, monitor performance, and manage your learning journey. |
Fully optimized for all devices - desktop, tablet, and mobile. Built with modern web technologies ensuring fast load times and scalability. Industry-standard security with JWT authentication and encrypted passwords. |
βοΈ React.js - UI Library
π¨ Tailwind CSS - Utility-first CSS Framework
π§© Shadcn UI - Re-usable Component Library
π’ Node.js - JavaScript Runtime
π Express.js - Web Application Framework
π MongoDB - NoSQL Database
π¦ Mongoose - MongoDB Object Modeling
βοΈ Cloudinary - Media Storage & Optimization
π³ Stripe - Payment Processing
π JWT - Authentication & Authorization
π Bcrypt.js - Password Hashing
π§ Nodemailer - Email Service
Before you begin, ensure you have the following installed:
- Node.js (v18.x or higher)
- npm or yarn
- MongoDB (local or cloud instance)
1οΈβ£ Clone the repository
git clone https://github.com/SinghAnsh07/StudyNotion-AnshSingh.git
cd StudyNotion-AnshSingh2οΈβ£ 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_nameserver/.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_password4οΈβ£ Run the development servers
# Run both frontend and backend concurrently
npm run devThe application will be available at:
- Frontend:
http://localhost:5173 - Backend:
http://localhost:4000
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!
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.
Ansh Singh
- GitHub: @SinghAnsh07
- LinkedIn: Connect with me