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 lms
pnpm install
Create a .env
file in the root directory and add the necessary environment variables.
pnpm dlx prisma db push
pnpm dlx prisma generate
pnpm dev
To 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