Skip to content

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.

License

Notifications You must be signed in to change notification settings

DevFreAkeD/course-edge-x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CourseEdgeX - Modern LMS Platform

πŸš€ 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.


🎯 Features

For Students

  • πŸ“š 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

For Course Creators

  • πŸ“ 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

Technical Features

  • πŸš€ 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

UI/UX Features

  • 🎯 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

πŸ”§ Setup & Installation

Prerequisites

  • Node.js 18+
  • npm/pnpm/yarn
  • Clerk Account
  • Sanity Account
  • Stripe Account

Installation

# 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

Setting up Sanity CMS

  1. Create a Sanity account
  2. Create a new project
  3. Install the Sanity CLI:
    npm install -g @sanity/cli
  4. Initialize Sanity in your project:
    sanity init
  5. Deploy Sanity Studio:
    sanity deploy

Setting up Clerk

  1. Create a Clerk application
  2. Configure authentication providers
  3. Set up redirect URLs
  4. Add environment variables

Setting up Stripe

  1. Create a Stripe account
  2. Set up webhook endpoints
  3. Configure payment settings
  4. Set up webhook forwarding for local development:
    stripe listen --forward-to localhost:3000/api/stripe-checkout/webhook

Environment Variables

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

πŸ“‚ Architecture

Content Schema

1. Courses

  • Title
  • Description
  • Price
  • Image
  • Modules
  • Instructor
  • Category

2. Modules

  • Title
  • Lessons
  • Order

3. Lessons

  • Title
  • Description
  • Video URL
  • Content (Rich Text)
  • Completion Status

4. Students

  • Profile Information
  • Enrolled Courses
  • Progress Data

5. Instructors

  • Name
  • Bio
  • Photo
  • Courses

πŸ“Œ Key Components

1. Course Management System

  • Content creation and organization
  • Module and lesson structuring
  • Rich text editing
  • Media integration

2. Progress Tracking

  • Lesson completion
  • Course progress calculation
  • Module progress visualization

3. Payment Processing

  • Secure checkout
  • Course enrollment
  • Stripe integration

4. User Authentication

  • Clerk authentication
  • Protected routes
  • User roles

🎯 Usage

1. Creating a Course

  1. Access Sanity Studio
  2. Create course structure with modules and lessons
  3. Add content and media
  4. Publish course

2. Student Experience

  1. Browse available courses
  2. Purchase and enroll in courses
  3. Access course content
  4. Track progress through modules
  5. Mark lessons as complete
  6. View completion certificates

πŸ› οΈ Technologies Used

  • 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)

πŸ”₯ Features in Detail

1. Course Management

  • Flexible course structure with modules and lessons
  • Rich text editor for lesson content
  • Support for multiple video providers
  • Course pricing and enrollment management

2. Student Dashboard

  • Progress tracking across all enrolled courses
  • Lesson completion status
  • Continue where you left off
  • Course navigation with sidebar

3. Video Integration

  • URL Video Player
  • Loom Embed Support
  • Responsive video playback

4. Payment System

  • Secure Stripe checkout
  • Course access management
  • Webhook integration
  • Payment status tracking

5. Authentication

  • User registration and login
  • Protected course content
  • Role-based access control
  • Secure session management

6. UI Components

  • Modern, responsive design
  • Loading states and animations
  • Progress indicators
  • Toast notifications
  • Modal dialogs

πŸ“œ License

MIT License - Free for personal and commercial use.

🀝 Contributing

Contributions are welcome! Feel free to submit pull requests.

πŸš€ Support & Contact

πŸ”— Need help? Feel free to open an issue!


Enjoy seamless learning with CourseEdgeX! πŸš€

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published