An advanced Learning Management System (LMS) built with Next.js, designed to provide seamless course management and purchasing for both teachers and students. The platform integrates modern tools for authentication, payments, media streaming, and file management, delivering a robust and user-friendly experience.
Check out the live application: Connect Live Link
- Responsive Design: Fully responsive user interface powered by Tailwind CSS and ShadCN UI.
- Role-Based Access Control: User authentication and role management (Teacher/Student) with Clerk.
- Secure Payments: Integrated payment gateway using Razorpay for seamless transactions.
- Video Streaming: High-quality video hosting and streaming powered by MUX.
- File Uploads: Effortless course resource uploads with Uploadthing.
- Course Management: Comprehensive tools for managing courses, including videos, assignments, and more.
- Course Creation: Easily create and manage course modules.
- Content Upload: Upload video lectures, PDFs, and other resources.
- Revenue Tracking: Monitor course sales and earnings via Razorpay integration.
- Course Enrollment: Browse and purchase courses with secure payment options.
- Content Access: Stream video lectures and download course materials.
- Progress Tracking: Keep track of course progress and completed modules.
- Framework: Next.js
- UI Styling: Tailwind CSS, ShadCN UI
- Authentication: Clerk
- Payments: Razorpay
- Media Streaming: MUX
- File Uploads: Uploadthing
- Clone the repository:
git clone https://github.com/yourusername/lms-nextjs.git cd lms-nextjs
- Create a
.env.local
file in the root directory and add the following:
NEXT_PUBLIC_CLERK_FRONTEND_API=<Your Clerk Frontend API Key>
CLERK_API_KEY=<Your Clerk Backend API Key>
NEXT_PUBLIC_RAZORPAY_KEY=<Your Razorpay Key>
MUX_TOKEN_ID=<Your MUX Token ID>
MUX_TOKEN_SECRET=<Your MUX Token Secret>
UPLOADTHING_SECRET=<Your Uploadthing Secret>
UPLOADTHING_ID=<Your Uploadthing ID>
npm run dev
- Open http://localhost:3000 to view your application in the browser.
- Teachers
- Sign up and create an account as a teacher.
- Navigate to the Create Course section to design your course.
- Upload videos and resources using the integrated MUX and Uploadthing tools.
- Publish your course and track purchases through the dashboard.
- Students
- Sign up and create an account as a student.
- Browse available courses and select the one you want to enroll in.
- Make secure payments via Razorpay.
- Access course content and track your progress.
- UI/UX: Modify components in the components directory to customize the design. Payment Gateway: Adjust Razorpay configuration in the lib/razorpay.js file. Authentication: Manage user roles and permissions in auth.js.
Contributions are welcome! To contribute:
Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Make your changes and commit:
git commit -m "Add feature-name"
- Push the changes:
git push origin feature-name
- This project is licensed under the MIT License.
- Author: Abhay Joshi
- Email: abhayjoshi201@gmail.com
- GitHub: https://github.com/abhayjoshi201