Loading...




The Course LMS is a modern Learning Management System (LMS) built using the latest technologies in the Next.js ecosystem. It offers a complete solution for course management, user authentication, media handling, and subscription management. This documentation will guide you through setting up the project, understanding its core features, and resolving common issues.
| Technology | Version | Description |
|---|---|---|
| Next.js | 15 | App Router, Server Components |
| React | 19 RC | Latest React release candidate |
| TypeScript | - | Static typing for better code quality |
| Prisma | 6 | Database ORM for PostgreSQL and MongoDB |
| NextAuth | v5 Beta | Authentication provider |
| Shadcn UI | - | Prebuilt UI components |
| TipTap Editor | - | Rich text and markdown editor |
| Cloudinary | - | Media storage and optimization |
| Stripe | - | Payment processing |
| Framer Motion | - | Animations and transitions |
| Tailwind CSS | - | Utility-first CSS framework |
git clone https://github.com/yourusername/course-lms.git
cd course-lms
Due to compatibility issues with Next.js 15 and React 19 RC, you need to install dependencies with legacy peer dependencies:
npm install --legacy-peer-deps
.env FileCreate a .env file in the root directory with the following environment variables:
DATABASE_URL="mongodb+srv://..."
NEXTAUTH_URL="http://localhost:3000"AUTH_SECRET="your-secret-key"
GOOGLE_CLIENT_ID="your-google-client-id"GOOGLE_CLIENT_SECRET="your-google-client-secret"
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="your-cloud-name"CLOUDINARY_API_KEY="your-api-key"CLOUDINARY_API_SECRET="your-api-secret"NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET="your-upload-preset"
STRIPE_SECRET_KEY="sk_test_..."STRIPE_WEBHOOK_SECRET="whsec_..."
Ensure Prisma is configured correctly:
npx prisma generate
npx prisma db push
npm run dev
The application will be available at http://localhost:3000.
src/
├── app/ # App Router pages
│ ├── (backoffice)/ # Admin area
│ ├── (dashboard)/ # User dashboard
│ ├── (landing)/ # Public pages
│ └── api/ # API routes
├── components/ # UI components
├── hooks/ # Custom hooks
├── lib/ # Utilities
└── types/ # TypeScript types
.env file..env file..env file..env file.--legacy-peer-deps during installation due to compatibility issues.DATABASE_URL in the .env file.AUTH_SECRET and callback URLs are correctly configured.vercel deploy