EduPulse is a modern educational platform that connects students and educators, providing an interactive learning environment with feedback and progress tracking.
Note: For now, just adding a youtube video would work
- Student: Enroll in courses, track progress, and complete lessons
- Instructor: Create and manage courses, upload content, and monitor student progress
- Admin: Manage users, approve courses, and oversee platform operations
- Course Creation: Create courses with detailed descriptions, requirements, and learning outcomes
- Course Sections: Organize content into sections and lessons
- Course Approval: Admin approval system for course publication
- Featured Courses: Highlight special courses on the platform
- Course Pricing: Support for free and paid courses with actual and discounted prices
- Course Enrollment: Easy enrollment process for students
- Lesson Progress: Track completion of individual lessons
- Course Reviews: Students can review and rate courses
- Wishlist: Save courses for later enrollment
- Cart System: Add courses to cart before purchase
- User Profiles: Customizable profiles with avatars and bios
- Authentication: Secure login and registration system
- Dashboard: View enrolled courses and progress
- Course Search: Find courses by category, instructor, or keywords
- User Management: View, update, and delete user accounts
- Course Moderation: Approve or reject courses
- Featured Course Management: Mark courses as featured
- Platform Statistics: View platform-wide statistics and metrics
- Next.js 14 (React Framework)
- TypeScript
- Redux Toolkit for state management
- React Query for data fetching
- Bootstrap 5 for styling
- SCSS for custom styling
- Formik & Zod for form handling
- React Leaflet for maps
- Various UI components (React Quill, React Player, etc.)
- FastAPI (Python web framework)
- SQLAlchemy (ORM)
- PostgreSQL (Database)
- JWT Authentication
- Alembic for database migrations
- Pydantic for data validation
- Docker and Docker Compose
- Git
- Clone the repository:
git clone https://github.com/manjurulhoque/edu-pulse.git
cd edu-pulse- Start the development environment:
docker-compose -f docker-compose.dev.yml up --build- Initialize the database:
# Access the container's shell
docker-compose -f docker-compose.dev.yml exec backend sh
# Once inside the container shell, run:
python -m apps.seed
# To exit the shell when done
exit- Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- API Documentation: http://localhost:8080/docs
Build and push frontend:
docker build -t edu-pulse-frontend frontend/
docker tag edu-pulse-frontend manjurulhoque/edu-pulse-frontend:latest
docker push manjurulhoque/edu-pulse-frontend:latestBuild and push backend:
docker build -t edu-pulse-backend backend
docker tag edu-pulse-backend manjurulhoque/edu-pulse-backend:latest
docker push manjurulhoque/edu-pulse-backend:latestContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.







