Skip to content

EduHub is a modern e-learning platform that allows instructors to create and sell courses while providing students with an interactive learning experience. It features video lessons, quizzes, discussions, progress tracking, and secure payments.

License

Notifications You must be signed in to change notification settings

hritikyadav07/EdHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EdHub – Create & Sell Online Courses

EdHub is a modern course creation and selling platform that allows instructors to create and sell their courses seamlessly. This platform provides an intuitive UI for course creation, pricing, and publishing.

πŸš€ Status: In Development - Frontend βœ… Backend βœ… Integration ⚠️
πŸ“– Documentation: API Integration Status


🌟 Features

βœ… For Students

  • Browse Courses – Explore courses with advanced filtering and search
  • Course Details – View detailed course information with previews
  • Secure Enrollment – Enroll in courses with authentication
  • Learning Dashboard – Track progress and manage enrolled courses
  • User Profile – Manage account settings and preferences

βœ… For Instructors (Course Creators)

  • Easy Course Creation – Create comprehensive courses with lessons
  • Course Management – Update and manage existing courses
  • Student Analytics – Track enrollment and course performance
  • Instructor Dashboard – Manage all courses from one place

βœ… Admin Panel

  • User Management – Manage students, instructors, and roles
  • Course Approval – Review and approve new courses
  • Analytics Dashboard – Monitor platform statistics and performance
  • System Administration – Configure platform settings

🚧 Coming Soon

  • Payment Integration – Stripe/PayPal for course purchases
  • Certificate Generation – Issue certificates upon completion
  • Video Streaming – Secure video hosting and streaming
  • Discussion Forums – Course-specific discussion boards

πŸ’» Tech Stack

Frontend

  • React – Modern UI library with hooks
  • React Router – Client-side routing
  • Framer Motion – Smooth animations and transitions
  • Tailwind CSS – Utility-first CSS framework
  • Vite – Fast build tool and development server

Backend

  • Node.js & Express.js – REST API server
  • MongoDB – NoSQL database for flexible data storage
  • Mongoose – MongoDB object modeling
  • JWT – Authentication and authorization
  • bcryptjs – Password hashing

Development Tools

  • Hot Module Replacement – Fast development experience
  • ESLint – Code linting and formatting
  • Environment Configuration – Secure environment variable management

πŸš€ Quick Start

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (local or cloud instance)
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone <repository-url>
    cd EdHub
  2. Install backend dependencies

    cd Backend
    npm install
  3. Install frontend dependencies

    cd ../frontend
    npm install
  4. Environment Setup

    Backend (.env in Backend folder):

    MONGO_URI=mongodb://localhost:27017/edhub
    JWT_SECRET=your_jwt_secret_key
    JWT_EXPIRE=30d
    FRONTEND_URL=http://localhost:5173
    PORT=5000

    Frontend (.env in frontend folder):

    VITE_API_URL=http://localhost:5000/api
  5. Start Development Servers

    Option 1: Using startup scripts

    # Windows
    start-dev.bat
    
    # Linux/Mac
    chmod +x start-dev.sh
    ./start-dev.sh

    Option 2: Manual start

    # Terminal 1 - Backend
    cd Backend
    npm start
    
    # Terminal 2 - Frontend
    cd frontend
    npm run dev
  6. Access the application


πŸ”§ API Integration Status

βœ… Working Endpoints

  • Authentication (login, register, logout)
  • Course management (CRUD operations)
  • User enrollment in courses
  • Admin dashboard statistics

⚠️ Known Issues

  • Course listing endpoint has pagination issues
  • Some response formats need standardization

❌ Missing Endpoints

  • User profile management
  • Course reviews and ratings
  • Notification system
  • Payment integration
  • Advanced search and filtering

For detailed API documentation, see API Integration Status


οΏ½ Project Structure

EdHub/
β”œβ”€β”€ Backend/                 # Node.js/Express API server
β”‚   β”œβ”€β”€ controller/         # Route controllers
β”‚   β”œβ”€β”€ middleware/         # Authentication & validation
β”‚   β”œβ”€β”€ model/             # MongoDB models
β”‚   β”œβ”€β”€ routes/            # API routes
β”‚   └── docs/              # Backend documentation
β”œβ”€β”€ frontend/               # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Application pages/routes  
β”‚   β”‚   β”œβ”€β”€ context/       # React context providers
β”‚   β”‚   β”œβ”€β”€ services/      # API service layer
β”‚   β”‚   └── assets/        # Static assets
β”‚   └── public/            # Public static files
β”œβ”€β”€ docs/                  # Project documentation
└── start-dev.*           # Development startup scripts

πŸ§ͺ Testing

Test Accounts

Admin Account:
Email: [email protected]
Password: password123

Student Account:  
Email: [email protected]
Password: password123

API Testing

  • Use Postman or similar tool to test API endpoints
  • Refer to backend route files for endpoint details
  • Authentication required for protected routes

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“‹ Development Roadmap

Phase 1: Core Features βœ…

  • Basic authentication system
  • Course creation and management
  • User enrollment system
  • Admin dashboard
  • Responsive UI design

Phase 2: Enhanced Features 🚧

  • Payment integration
  • Course progress tracking
  • Certificate generation
  • User profile management
  • Search and filtering

Phase 3: Advanced Features πŸ“‹

  • Video streaming platform
  • Discussion forums
  • Mobile application
  • Advanced analytics
  • Multi-language support

πŸ› Known Issues

  1. Course listing API returns inconsistent data format
  2. Some frontend components need error boundary implementation
  3. Mobile responsiveness needs testing on various devices
  4. Performance optimization needed for large course lists

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“ž Support & Contact

  • Issues: Create an issue in this repository
  • Documentation: Check the /docs folder for detailed guides
  • API Status: See API Integration Status

Happy Learning! πŸŽ“

About

EduHub is a modern e-learning platform that allows instructors to create and sell courses while providing students with an interactive learning experience. It features video lessons, quizzes, discussions, progress tracking, and secure payments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages