CourseHub is a full stack course management and online learning platform built with the MERN stack. It supports authentication, course creation, student enrollment, progress tracking, profile management, and instructor dashboards.
- User authentication with signup, login, OTP verification, and password reset
- Role-based access for students, instructors, and admins
- Course catalog and course details pages
- Instructor course creation, editing, and course management
- Section and subsection management for course content
- Student enrollment and enrolled courses dashboard
- Course progress tracking and lecture viewing flow
- Ratings and reviews
- Profile update and display picture update
- Contact form support
- Media upload support through Cloudinary
- React 18
- React Router
- Redux Toolkit
- Tailwind CSS
- Axios
- React Hook Form
- Node.js
- Express
- MongoDB with Mongoose
- JWT authentication
- Nodemailer
- Cloudinary
EduNest-EdTech/
|-- public/
|-- src/
| |-- components/
| |-- pages/
| |-- services/
| |-- slices/
| |-- utils/
|-- server/
| |-- config/
| |-- controllers/
| |-- middleware/
| |-- models/
| |-- routes/
| |-- utils/
|-- package.json
//about/contact/login/signup/verify-email/forgot-password/update-password/:id/courses/:courseId/catalog/:catalogName/dashboard/.../view-course/:courseId/section/:sectionId/sub-section/:subSectionId
http://localhost:4000/api/v1
Main route groups:
/auth/profile/course/reach
git clone <your-repository-url>
cd EduNest-EdTechnpm installcd server
npm install
cd ..Create a server/.env file and add the required environment variables.
PORT=4000
MONGODB_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUD_NAME=your_cloudinary_cloud_name
API_KEY=your_cloudinary_api_key
API_SECRET=your_cloudinary_api_secret
FOLDER_NAME=your_cloudinary_folder_name
MAIL_HOST=your_mail_host
MAIL_USER=your_mail_user
MAIL_PASS=your_mail_passwordnpm run devnpm startnpm run server- Frontend:
http://localhost:3000 - Backend:
http://localhost:4000 - API base:
http://localhost:4000/api/v1
npm start- starts the React appnpm run build- creates a production buildnpm test- runs testsnpm run server- starts the backend in development modenpm run dev- starts frontend and backend together
npm start- starts the Node servernpm run dev- starts the server with nodemon
- The frontend API file currently points to
http://localhost:4000/api/v1. - This project uses a separate
server/folder for backend logic. - Make sure MongoDB, Cloudinary, and email credentials are configured before testing signup, uploads, or course workflows.
- Add deployment instructions
- Add screenshots or demo GIFs
- Add API documentation
- Add test coverage
- Add payment gateway documentation if payment flow is extended
Built as a full stack EdTech course platform project.