Welcome to the Course Selling and Learning Management System repository! This platform allows course creators to sell their courses while providing a seamless learning experience for students. The system integrates course management, content delivery, payments, and learner progress tracking.
The Course Selling and Learning Management System is designed to provide a comprehensive solution for both instructors and students. It provides a platform where:
- Instructors can create and sell courses
- Students can browse, enroll, and track their learning progress
- Course Creation: Easy-to-use interface for instructors to create and publish courses.
- Payment Gateway Integration: Supports secure payments for purchasing courses.
- User Management: Admins can manage users, including instructors and students.
- Content Delivery: Students can access lessons in various formats (video, quizzes, PDFs, etc.).
- Progress Tracking: Students can track their course progress and receive certificates upon completion.
- Discussion Forums: Learners can ask questions and engage with instructors and peers.
- Admin Dashboard: Monitor all activities, sales, and user engagement.
- Instructor Dashboard: Manage courses, enrollments, and earnings.
- Student Dashboard: Track course progress, and completion rates, and participate in discussions.
- Multi-payment Gateway Support: Polar and Stripe payment processing.
- Course Recommendations: AI-powered suggestions based on course interest and history.
- Certification: Students receive a certificate of completion once they finish a course.
- Frontend: React.js ,TailwindCSS
- Backend: Node.js, Express
- Database: MongoDB (for flexible data storage)
- Authentication: JWT-based authentication
- Payment Integration: Stripe API, Polar API
- Cloud Storage: AWS S3 for storing course content (videos, documents)
- Deployment: Docker, Kubernetes (for scalability), Heroku/AWS EC2
- Node.js >= 16.x
- npm >= 8.x
- MongoDB (local or remote instance)
- Stripe/Polar API credentials (for payment integration)
- Clone the repository:
- Install dependencies:
- Create a
.env
file in the root directory and add your configuration: - Start the development server:
- The app should now be running on respective localhost port.
Once the application is up and running, you can:
- Register as an instructor or student.
- Instructors can create new courses by filling in course details, uploading content, and setting a price.
- Students can browse courses, view course details, and enroll in them.
- After enrolling, students can access course content and track their progress.
- Admins can monitor the overall system usage, user activity, and sales data.
This project is licensed under the MIT License - see the LICENSE file for details. Feel free to reach out with any questions or feedback. Happy learning and coding! 🎓