π CourseEdgeX is a modern, feature-rich Learning Management System built with Next.js 15, Sanity CMS, Clerk, Shadcn UI and Stripe. It provides real-time content updates, secure payments, and seamless course progress tracking.
- π Access to comprehensive course content
- π Real-time progress tracking
- β Lesson completion system
- π― Module-based learning paths
- π₯ Multiple video player integrations (YouTube, Vimeo, Loom)
- π³ Secure course purchases
- π± Mobile-friendly learning experience
- π Course progress synchronization
- π Rich content management with Sanity CMS
- π Student progress monitoring
- π Course analytics
- π¨ Customizable course structure
- πΉ Multiple video hosting options
- π° Direct payments via Stripe
- π Real-time content updates
- π± Mobile-optimized content delivery
- π Server Components & Server Actions
- π€ Authentication with Clerk
- π³ Payment processing with Stripe
- π Content management with Sanity CMS
- π¨ Modern UI with Tailwind CSS and Shadcn UI
- π± Responsive design
- π Real-time content updates
- π Protected routes and content
- π Dark mode support
- π― Modern, clean interface
- π¨ Consistent design system using Shadcn UI
- βΏ Accessible components
- π Smooth transitions and animations
- π± Responsive across all devices
- π Loading states with skeleton loaders
- π« Micro-interactions for better engagement
- π Dark/Light mode toggle
- Node.js 18+
- npm/pnpm/yarn
- Clerk Account
- Sanity Account
- Stripe Account
# Clone the repository
git clone https://github.com/DevFreAkeD/course-edge-x
cd course-edge-x
# Install dependencies
npm install
# Start the development server
npm run dev
# In a separate terminal, start Sanity Studio
npm run sanity:dev
- Create a Sanity account
- Create a new project
- Install the Sanity CLI:
npm install -g @sanity/cli
- Initialize Sanity in your project:
sanity init
- Deploy Sanity Studio:
sanity deploy
- Create a Clerk application
- Configure authentication providers
- Set up redirect URLs
- Add environment variables
- Create a Stripe account
- Set up webhook endpoints
- Configure payment settings
- Set up webhook forwarding for local development:
stripe listen --forward-to localhost:3000/api/stripe-checkout/webhook
Create a .env.local
file and add:
# Sanity
NEXT_PUBLIC_SANITY_PROJECT_ID=your-project-id
NEXT_PUBLIC_SANITY_DATASET=production
SANITY_API_TOKEN=your-sanity-read-token
SANITY_API_ADMIN_TOKEN=your-sanity-admin-token
# Next.js
NEXT_PUBLIC_BASE_URL=http://localhost:3000
# Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
STRIPE_SECRET_KEY=your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=your-stripe-webhook-secret
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-publishable-key
CLERK_SECRET_KEY=your-clerk-secret-key
- Title
- Description
- Price
- Image
- Modules
- Instructor
- Category
- Title
- Lessons
- Order
- Title
- Description
- Video URL
- Content (Rich Text)
- Completion Status
- Profile Information
- Enrolled Courses
- Progress Data
- Name
- Bio
- Photo
- Courses
- Content creation and organization
- Module and lesson structuring
- Rich text editing
- Media integration
- Lesson completion
- Course progress calculation
- Module progress visualization
- Secure checkout
- Course enrollment
- Stripe integration
- Clerk authentication
- Protected routes
- User roles
- Access Sanity Studio
- Create course structure with modules and lessons
- Add content and media
- Publish course
- Browse available courses
- Purchase and enroll in courses
- Access course content
- Track progress through modules
- Mark lessons as complete
- View completion certificates
- Next.js 15 (App Router, Server Components)
- TypeScript (Static typing, enhanced developer experience)
- Clerk (User authentication)
- Sanity CMS (Headless content management)
- Stripe (Secure payment processing)
- Tailwind CSS (Modern styling framework)
- Shadcn UI (Beautiful, reusable UI components)
- Lucide Icons (Icon library for UI enhancement)
- Flexible course structure with modules and lessons
- Rich text editor for lesson content
- Support for multiple video providers
- Course pricing and enrollment management
- Progress tracking across all enrolled courses
- Lesson completion status
- Continue where you left off
- Course navigation with sidebar
- URL Video Player
- Loom Embed Support
- Responsive video playback
- Secure Stripe checkout
- Course access management
- Webhook integration
- Payment status tracking
- User registration and login
- Protected course content
- Role-based access control
- Secure session management
- Modern, responsive design
- Loading states and animations
- Progress indicators
- Toast notifications
- Modal dialogs
MIT License - Free for personal and commercial use.
Contributions are welcome! Feel free to submit pull requests.
π Need help? Feel free to open an issue!
Enjoy seamless learning with CourseEdgeX! π