MCPSERV.CLUB
Open eClass

Open eClass

Self-Hosted

Free, open‑source LMS for asynchronous online learning

Active(95)
145stars
0views
Updated 11 days ago

Overview

Discover what makes Open eClass powerful

Open eClass is a full‑stack, PHP‑based Learning Management System (LMS) that has evolved over two decades from the GUnet eClass platform. At its core it exposes a web API and a rich set of server‑side services that allow institutions to create, manage, and deliver asynchronous courses. The platform is built for self‑hosting: it runs on a standard LAMP stack (Apache/Nginx, PHP ≥ 8.1, MySQL/MariaDB) and can be deployed behind a reverse proxy or within a container orchestration layer such as Docker Compose or Kubernetes. Its open‑source nature (GPL v3) and long history of community contributions make it a reliable choice for developers who need full control over the learning environment.

Language

Framework

Database

Front‑end

Overview

Open eClass is a full‑stack, PHP‑based Learning Management System (LMS) that has evolved over two decades from the GUnet eClass platform. At its core it exposes a web API and a rich set of server‑side services that allow institutions to create, manage, and deliver asynchronous courses. The platform is built for self‑hosting: it runs on a standard LAMP stack (Apache/Nginx, PHP ≥ 8.1, MySQL/MariaDB) and can be deployed behind a reverse proxy or within a container orchestration layer such as Docker Compose or Kubernetes. Its open‑source nature (GPL v3) and long history of community contributions make it a reliable choice for developers who need full control over the learning environment.

Technical Stack & Architecture

  • Language – PHP 8.1+ with OOP, Composer‑managed dependencies, and optional Symfony components for routing and templating.
  • Framework – A custom MVC architecture that loosely follows the Symfony conventions; the codebase is split into modules (core, course, user, analytics) that communicate via internal services and a shared data access layer.
  • Database – MySQL/MariaDB with a normalized schema that supports multi‑tenant course data, user roles, grades, and activity logs. The ORM layer is lightweight (PDO‑based) but offers query builder helpers.
  • Front‑end – Vanilla JavaScript, Bootstrap 5 for responsive UI, and a handful of jQuery plugins for legacy widgets (e.g., WYSIWYG editors). The UI is template‑driven, enabling developers to override or replace views without touching the core logic.
  • API – A REST‑like interface under /api/ that accepts JSON payloads for CRUD operations on courses, users, assignments, and grades. Webhooks can be configured to notify external services (e.g., SIS, LMS integrations).

Core Capabilities & Developer Features

  • Course Lifecycle Management – Programmatic creation of courses, modules, lessons, and resources via the API. Supports bulk import/export in Moodle XML or SCORM packages.
  • Assessment Engine – Automated quizzes, exams, and assignment grading workflows. Exposes hooks (onSubmit, onGrade) for custom scoring algorithms.
  • Analytics & Reporting – Endpoints to retrieve usage statistics, completion rates, and grade distributions. Data can be consumed by BI tools or custom dashboards.
  • User & Role Management – Fine‑grained RBAC with support for groups, teams, and custom roles. LDAP/Active Directory integration is available through a plug‑in.
  • Internationalization – All UI strings are stored in .po files; developers can add new locales or override translations without modifying core code.

Deployment & Infrastructure

Open eClass is designed for straightforward self‑hosting. A typical deployment stack:

NGINX/Apache → PHP 8.1+ (FastCGI) → MySQL/MariaDB

Containerization is fully supported: a docker-compose.yml template ships with the repository, exposing volumes for /var/www/html, database persistence, and optional Redis caching. For production‑grade scalability, the application can be replicated behind a load balancer; statelessness of PHP sessions is achieved via shared session stores (Redis or Memcached). The database can be sharded or replicated using native MySQL/MariaDB replication, enabling horizontal scaling for high‑traffic institutions.

Integration & Extensibility

  • Plugin System – Modules can be dropped into the plugins/ directory; each plugin registers its routes, services, and database migrations automatically. This pattern allows developers to extend the LMS with custom features (e.g., video conferencing, analytics dashboards) without touching core files.
  • Webhooks & Callbacks – External services can subscribe to events (course.created, assignment.submitted) via HTTP callbacks. This makes it easy to integrate with third‑party CRMs, SIS, or notification platforms.
  • SAML/OIDC SSO – Built‑in support for federated authentication, enabling single sign‑on with institutional identity providers.
  • SCORM/XAPI Compatibility – The platform can ingest SCORM packages and publish xAPI statements, allowing integration with learning record stores (LRS) for advanced analytics.

Developer Experience

The documentation is comprehensive, with separate sections for installation, configuration, API reference, and developer guides. A dedicated GitHub repository hosts the source code, issue tracker, and pull request workflow, fostering community contributions. The project follows semantic versioning; backward‑compatibility guarantees make upgrades predictable. Configuration is driven by environment variables and a .env file, making CI/CD pipelines straightforward.

Use Cases

  1. University LMS – Deploy a campus‑wide eLearning platform that integrates with the university’s SIS and supports thousands of concurrent users.
  2. Corporate Training Hub – Host internal courses, track compliance training, and generate audit reports via the analytics API.
  3. MOOC Provider – Combine Open eClass with a front‑end gateway to offer free or paid courses at scale, leveraging the SCORM support for content packaging.
  4. Research Collaboration – Use the plugin system to add custom peer‑review workflows or experiment tracking within course modules.

Advantages for Developers

  • Full Source Control – GPL licensing allows modification, redistribution, and commercial deployment without licensing fees.
  • Legacy Compatibility & Modern Stack – While built on PHP, the platform embraces modern features (PHP 8.1, Composer) and can interoperate with contemporary microservices via its API.
  • Extensibility – The plugin architecture and

Open SourceReady to get started?

Join the community and start self-hosting Open eClass today