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
- 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
- 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
- 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
- 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
- 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
- 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
- Hot Module Replacement β Fast development experience
- ESLint β Code linting and formatting
- Environment Configuration β Secure environment variable management
- Node.js (v18+ recommended)
- MongoDB (local or cloud instance)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd EdHub
-
Install backend dependencies
cd Backend npm install -
Install frontend dependencies
cd ../frontend npm install -
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
-
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
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
- Authentication (login, register, logout)
- Course management (CRUD operations)
- User enrollment in courses
- Admin dashboard statistics
- Course listing endpoint has pagination issues
- Some response formats need standardization
- User profile management
- Course reviews and ratings
- Notification system
- Payment integration
- Advanced search and filtering
For detailed API documentation, see API Integration Status
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
Admin Account:
Email: [email protected]
Password: password123
Student Account:
Email: [email protected]
Password: password123
- Use Postman or similar tool to test API endpoints
- Refer to backend route files for endpoint details
- Authentication required for protected routes
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Basic authentication system
- Course creation and management
- User enrollment system
- Admin dashboard
- Responsive UI design
- Payment integration
- Course progress tracking
- Certificate generation
- User profile management
- Search and filtering
- Video streaming platform
- Discussion forums
- Mobile application
- Advanced analytics
- Multi-language support
- Course listing API returns inconsistent data format
- Some frontend components need error boundary implementation
- Mobile responsiveness needs testing on various devices
- Performance optimization needed for large course lists
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Create an issue in this repository
- Documentation: Check the
/docsfolder for detailed guides - API Status: See API Integration Status
Happy Learning! π