Short Explanation
The platform is designed to provide a seamless experience for both students and teachers, enabling efficient course management and interactive learning.
Features
Course Management
- Browse & Filter Courses: Users can easily browse through available courses and apply filters to find the ones that suit their interests and needs.
- Purchase Courses: Integration with Stripe allows users to securely purchase courses.
- Progress Tracking: Students can mark chapters as completed or uncompleted, with the platform calculating their progress for each course.
- Student Dashboard: A personalized dashboard for students to track their course progress and manage their learning journey.
Teacher Mode
- Create New Courses: Teachers can create and manage new courses directly from the platform.
- Create New Chapters: Teachers can add chapters to their courses, using a rich text editor for detailed descriptions.
- Drag & Drop Reordering: Easily reorder chapters within a course using a drag-and-drop interface.
- Upload Media: Upload course thumbnails, attachments, and videos using UploadThing, with video processing handled by Mux.
- HLS Video Player: High-quality video playback using Mux's HLS video player.
Infrastructure
- Authentication: Secure user authentication and management using Clerk.
- ORM: Prisma ORM for efficient and type-safe database interactions.
- Database: MySQL database hosted on Planetscale for robust and scalable data storage.
This LMS platform combines a powerful set of features with a modern tech stack, ensuring a smooth and efficient learning and teaching experience.
Tech Stack Used
- Frontend: Next.js 13, React, Tailwind CSS
- Backend: Node.js, Prisma ORM
- Database: MySQL (Planetscale)
- Payment Processing: Stripe
- Video Processing: Mux
- File Uploads: UploadThing
- Authentication: Clerk