Skip to content

Latest commit

 

History

History
161 lines (110 loc) · 5.49 KB

File metadata and controls

161 lines (110 loc) · 5.49 KB

🎓 Learning Hub

Learning Hub is a full-stack online learning platform built with the MERN stack.
It provides a seamless way for users to explore, purchase, and learn courses, while enabling admins/instructors to create, manage, and sell courses.


🚀 Features

  • 🔐 Authentication & Authorization – Secure signup/login using JWT & bcrypt.
  • 👤 User Profiles – Update personal info & track course progress.
  • 🎥 Course Management – Admins can add, edit, publish/unpublish courses.
  • 📂 Video Uploads – Cloudinary integration for secure video & image hosting.
  • 🛒 Payments – Integrated Stripe for secure checkout & course purchases.
  • 📊 Dashboard – Manage purchased courses & admin statistics.
  • 🔍 Search & Filters – Find courses easily with advanced filters.
  • 🌙 Light/Dark Mode – Built with shadcn/ui for modern UI/UX.
  • Redux Toolkit (RTK Query) – State management & API integration.

🛠️ Tech Stack

Frontend:

  • React
  • Redux
  • TailwindCSS
  • Shadcn/UI

Backend:

  • Node.js
  • Express.js

Database:

  • MongoDB

Other Integrations:

  • Stripe
  • Cloudinary

📦 Installation & Setup

1. Clone the Repository

git clone https://github.com/Sarasmishra/Learning_Hub.git
cd Learning_Hub

2. Install Dependencies

# Install frontend dependencies
cd client
npm install

# Install backend dependencies
cd ../server
npm install

3. Setup Environment Variables

Create a .env file inside the server folder and add:

MONGO_URI=your_mongodb_uri
PORT=3005
SALT_ROUND=10
SECRET_KEY=your_secret_key

# Cloudinary setup
CLOUD_API_KEY=your_api_key
CLOUD_API_SECRET=your_api_secret
CLOUD_NAME=your_cloud_name

# Stripe setup
STRIPE_SECRET_KEY=your_secret_key
STRIPE_PUBLISHABLE_KEY=your_publishable_key
WEBHOOK_ENDPOINT_SECRET=your_webhook_secret

4. Run the Project

# Start backend
cd server
npm run dev

# Start frontend (in another terminal)
cd client
npm start

🎯 Screenshots

1.Sign In /Create Account

Screenshot 2025-12-09 100617

2.Home

Screenshot 2025-12-09 100538

3. Course Detail Page

Screenshot 2025-08-26 125531

4. Dashboard(Instructor)

Screenshot 2025-08-26 125744

5. All courses(Dashboard)

Screenshot 2025-08-26 125859

6. Course Creation

Screenshot 2025-08-26 130017

7. Assignment Page

Screenshot 2025-08-26 130452

8. Payment Gateway

Screenshot 2025-08-26 130304

9. About

Screenshot 2025-12-09 100559

🧪 API Endpoints (Sample)

Method Endpoint Description
POST /api/auth/register Register a new user
POST /api/auth/login Login user & get token
GET /api/courses Fetch all published courses
POST /api/courses Add a new course (Admin)
POST /api/payment/create-checkout-session Create Stripe checkout session

📊 Project Status

  • ✅ Backend Completed
  • ✅ Frontend Completed
  • ⚡ Currently adding new features and improving UI

🌍 Deployment Links

🙏 Thank You

Thank you for your time ✨ If you liked this project, don’t forget to ⭐ the repo!