Welcome to YourLMS! This repository contains the code for a comprehensive Learning Management System built with Next.js, Tailwind CSS, Shadcn UI, React Video, Prisma ORM, PostgreSQL, and Clerk.
YourLMS is designed to provide a seamless learning experience for both teachers and students. The platform offers a range of features to facilitate course creation, enrollment, and completion.
- Choose between student and teacher roles during signup
- Teachers can create courses, publish content, issue certifications, and earn from course sales
- Students can enroll in courses (free or paid) and complete them and get certificates
- Teachers can access Course Studio to customize course structure
- Options to make courses free or paid
- Publish chapters with videos, attachments, and explanations in Markdown format
- Razorpay integration for secure course payments
- Search courses by teacher name, title, or category (e.g., web development, mobile development)
- Welcome email upon signup
- Course enrollment confirmation email
- Course completion email with certificate download link
- Course update notifications for enrolled students
- Shareable profiles showcasing enrolled courses, certifications, goals, and interests
- Customizable user settings
- Teachers can upload signatures for course certificates
- Certificates include teacher and portal owner signatures
- Clean user interface with black and white theme
- Toast notifications for user feedback
- Skeleton states for improved loading experience
- Dashboard for quick overview
- Course Studio for teachers
- Certificates section
- Profile management
- Settings page
- Beautiful landing page
- Onboarding form for user interests and goals
To get a local copy up and running, follow these simple steps.
- Node.js
- PostgreSQL
git clone https://github.com/DevKrishnasai/lms.git
cd lmspnpm installCreate a .env file in the root directory and add the necessary environment variables.
pnpm dlx prisma db pushpnpm dlx prisma generatepnpm devTo start using the application, navigate to http://localhost:3000 in your browser.
YourLMS/
├── prisma/ # Prisma schema and migrations
├── public/ # Public assets
├── src/
│ ├── components/ # Reusable components
│ ├── app/ # Pages and API routes
│ ├── utils/ # Utility functions
│ └── ... # Other directories and files
└── README.md # Project documentation