> ## Documentation Index
> Fetch the complete documentation index at: https://docs.easelms.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to EaseLMS

> A modern, open-source Learning Management System built with Next.js, TypeScript, and Supabase for creating and delivering online courses

<img width="300" className="mx-auto hidden dark:block" src="https://mintcdn.com/enyojoo-easelms-52-9/mlM-9wa9CH3mtdRp/images/EaseLMSwh.svg?fit=max&auto=format&n=mlM-9wa9CH3mtdRp&q=85&s=9aa67d0be15cc5f3deaae4f47c98c2c1" alt="EaseLMS Logo" data-path="images/EaseLMSwh.svg" />

<img width="300" className="mx-auto dark:hidden" src="https://mintcdn.com/enyojoo-easelms-52-9/mlM-9wa9CH3mtdRp/images/EaseLMSbk.svg?fit=max&auto=format&n=mlM-9wa9CH3mtdRp&q=85&s=3540f2b6bf03d8cdf8c3e264836218e9" alt="EaseLMS Logo" data-path="images/EaseLMSbk.svg" />

## The modern open-source Learning Management System

EaseLMS is a complete solution for creating, managing, and delivering online courses with features like video lessons, interactive quizzes, progress tracking, certificates, and payment integration. Built with modern technologies, it provides a beautiful learning experience for students and powerful tools for instructors.

<CardGroup cols={2}>
  <Card icon="rocket" href="/quickstart" title="Get started">
    Create your account and enroll in your first course in minutes
  </Card>

  <Card icon="download" href="/installation" title="Installation">
    Self-host EaseLMS with complete control over your data
  </Card>

  <Card icon="github" href="https://github.com/enyojoo/easelms" title="Source code">
    View the open-source code on GitHub
  </Card>

  <Card icon="cloud" href="https://www.easelms.org/hosted" title="Hosted service">
    Zero setup with our fully managed hosting solution
  </Card>
</CardGroup>

## Why choose EaseLMS?

EaseLMS combines modern development practices with powerful learning features to deliver an exceptional experience for both learners and instructors.

<CardGroup cols={3}>
  <Card icon="layer-group" title="Modern stack">
    Built with Next.js 16, React 19, TypeScript, and Supabase for cutting-edge performance
  </Card>

  <Card icon="palette" title="Beautiful UI">
    Modern, responsive design with dark mode support and mobile-first approach
  </Card>

  <Card icon="shield-halved" title="Secure">
    Built-in authentication, role-based access control, and data encryption
  </Card>

  <Card icon="credit-card" title="Monetization ready">
    Integrated payment processing with Stripe and Flutterwave
  </Card>

  <Card icon="star" title="Feature rich">
    Courses, quizzes, certificates, analytics, and comprehensive email notifications
  </Card>

  <Card icon="server" title="Self-hostable">
    Complete control over your data and infrastructure
  </Card>
</CardGroup>

## Core features

### Course management

Create unlimited courses with a rich content editor, video lessons with progress tracking, and document resources. Set up course prerequisites, organize content with categories and tags, and track enrollment analytics.

<Note>
  EaseLMS supports multiple enrollment modes: free courses, one-time paid courses, and recurring subscriptions.
</Note>

**Enrollment options:**

* **Free courses** - Open access for all learners
* **Paid courses** - One-time purchase with Stripe or Flutterwave
* **Recurring** - Subscription-based access
* **Closed** - Private courses for specific learners

### Learning experience

Learners enjoy a mobile-responsive course player with video playback, progress saving, and interactive quizzes. The platform tracks progress in real-time, awards achievement badges and certificates, and provides discussion features.

**Supported lesson types:**

* **Video lessons** - With progress tracking and Media Chrome player
* **Text content** - Rich text with images and formatting
* **Mixed lessons** - Combine video and text in a single lesson
* **Interactive quizzes** - Multiple question types with instant feedback

### Admin and instructor tools

Manage users across three roles (Admin, Instructor, Learner), view comprehensive analytics, and process payments. Customize your platform's branding including logos, colors, and SEO metadata.

<CardGroup cols={2}>
  <Card icon="users" title="User management">
    Role-based access control with Admin, Instructor, and Learner roles
  </Card>

  <Card icon="chart-line" title="Analytics dashboard">
    Track enrollments, course completion, revenue, and learner progress
  </Card>

  <Card icon="paintbrush" title="Custom branding">
    Platform name, logos (light/dark), favicon, and SEO metadata
  </Card>

  <Card icon="envelope" title="Email notifications">
    Automated emails via SendGrid for enrollments, completions, and payments
  </Card>
</CardGroup>

### Payment integration

Accept payments globally with Stripe or target African markets with Flutterwave. The platform supports multi-currency, handles one-time and recurring payments, and maintains complete purchase history.

**Payment features:**

* Global payments via Stripe
* African markets via Flutterwave
* Multi-currency support with automatic conversion
* Webhook handling for payment confirmations
* Automated email receipts

### Certificates

Automatically generate certificates when learners complete courses. Customize templates, add digital signatures, and allow PDF export. Certificates can be for completion, achievement, or participation.

## Technology stack

<CodeGroup>
  ```typescript Frontend theme={null}
  // Built with Next.js 16 App Router
  // React 19 with TypeScript
  // Styled with Tailwind CSS
  // UI components from shadcn/ui
  ```

  ```typescript Backend theme={null}
  // Supabase (PostgreSQL)
  // Supabase Auth for authentication
  // TanStack Query for state management
  // Server Actions for API
  ```

  ```typescript Integrations theme={null}
  // AWS S3 + CloudFront for storage
  // Stripe & Flutterwave for payments
  // SendGrid for email notifications
  // PDFKit for certificate generation
  ```
</CodeGroup>

**Core technologies:**

* **Framework:** Next.js 16 with App Router
* **Language:** TypeScript 5.0
* **Database:** Supabase (PostgreSQL)
* **Authentication:** Supabase Auth
* **Storage:** AWS S3 + CloudFront
* **Payments:** Stripe & Flutterwave
* **Email:** SendGrid
* **Styling:** Tailwind CSS
* **Components:** Radix UI + shadcn/ui

## Email notification system

EaseLMS includes comprehensive email notifications powered by SendGrid, using your platform's branding configured in Settings.

**User notifications:**

* Welcome email when signing up
* Enrollment confirmation
* Course completion notification
* Certificate ready notification
* Payment confirmation and failure alerts

**Admin notifications:**

* New enrollment alerts
* Payment received notifications
* Course completion reports

<Note>
  All emails automatically use your custom branding including platform name, logo, contact email, and support both light and dark mode.
</Note>

## Deployment options

<Tabs>
  <Tab title="Self-hosted">
    Deploy EaseLMS on your own infrastructure with complete control. Requires Node.js 18+, Supabase account, and optional AWS S3 for file storage.

    **Benefits:**

    * Full control over data and infrastructure
    * Customize code to your needs
    * No recurring hosting fees (pay for infrastructure only)
    * AGPL-3.0 license for internal use

    [View installation guide →](/installation)
  </Tab>

  <Tab title="Hosted service">
    Get started in minutes with our fully managed hosting solution.

    **Benefits:**

    * Zero infrastructure setup
    * Automatic backups and updates
    * Professional support included
    * Enterprise-grade security
    * Scalable infrastructure

    [Learn about hosted service →](https://www.easelms.org/hosted)
  </Tab>
</Tabs>

## Open source license

EaseLMS is licensed under AGPL-3.0. You can freely use it for your organization, modify the code, and use it commercially. If you provide it as a hosted service (SaaS) with modifications, you must open-source your changes.

<Warning>
  If you want to create a proprietary hosted service without open-sourcing modifications, you'll need a commercial license. [Contact us](https://www.easelms.org/contact) for details.
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card icon="bolt" href="/quickstart" title="Quick start">
    Sign up and enroll in your first course
  </Card>

  <Card icon="laptop-code" href="/installation" title="Install locally">
    Set up EaseLMS on your own infrastructure
  </Card>

  <Card icon="github" href="https://github.com/enyojoo/easelms" title="GitHub repository">
    View source code and contribute
  </Card>

  <Card icon="life-ring" href="mailto:contact@easelms.org" title="Get support">
    Contact us for help or questions
  </Card>
</CardGroup>
