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
.pofiles; 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
- University LMS – Deploy a campus‑wide eLearning platform that integrates with the university’s SIS and supports thousands of concurrent users.
- Corporate Training Hub – Host internal courses, track compliance training, and generate audit reports via the analytics API.
- 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.
- 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
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Tags
Explore More Apps
ghstats
Self-hosted data-analysis
AnythingLLM
All-in-one AI app for local, privacy‑first document chat and agents
Focalboard
Open source project management for teams
Documenso
Open‑source, self‑hosted e‑signature platform
Kiwix Serve
HTTP daemon for serving offline ZIM libraries
Mistborn
Self-hosted cloud-platforms