This Learning Management System (LMS) is a powerful platform for managing and delivering online courses. It comes with a range of features designed to enhance the learning experience for both students and teachers.
-
Browse & Filter Courses: Easily discover and filter through a variety of courses.
-
Purchase Courses using Stripe: Seamlessly enroll in courses by making payments using the Stripe payment gateway.
-
Mark Chapters as Completed or Uncompleted: Keep track of your progress by marking chapters as completed or uncompleted.
-
Progress Calculation of each Course: Get a clear overview of your progress within each course.
-
Student Dashboard: Access a personalized dashboard that provides an overview of enrolled courses, progress, and more.
-
Teacher Mode: Teachers have access to special features for course creation and management.
-
Create new Courses: Easily create new courses with detailed information.
-
Create new Chapters: Organize course content by creating chapters.
-
Easily reorder chapter position with drag nโ drop: Intuitively reorder chapter positions using drag-and-drop functionality.
-
Upload Thumbnails, Attachments, and Videos using UploadThing: Add multimedia elements to your chapters with ease.
-
Video processing using Mux: Ensure smooth video playback and streaming with Mux video processing.
-
HLS Video Player using Mux: Enjoy a high-quality video experience with an HLS video player powered by Mux.
-
Rich Text Editor for Chapter Description: Add rich content to chapter descriptions with a user-friendly editor.
-
Authentication using Clerk: Secure user authentication is implemented with Clerk.
-
ORM using Prisma: The project utilizes Prisma as the Object-Relational Mapping (ORM) tool for database interaction.
-
MySQL Database using Planetscale: Store and manage data in a MySQL database hosted on Planetscale for scalability and reliability.
To get started with the project, follow these steps:
-
Clone the repository to your local machine:
git clone https://github.com/your-username/lms-project.git
-
Install the necessary dependencies:
npm install
-
Configure your environment variables, including API keys for Stripe and Mux, and database connection details.
-
Run the application:
npm start