Overview
Discover what makes RELATE powerful
RELATE is a self‑hosted, web‑based learning management system (LMS) built on **Django**. It is engineered for rapid content authoring and deployment, leveraging the *human‑readable* combination of **YAML** for course metadata and **Markdown** for lesson text. The platform treats every learning unit as a *flow* – an ordered sequence of pages that can be static or interactive. This modularity enables instructors to mix multimedia, quizzes, code editors, and live classroom tools (XMPP instant messaging) within a single course instance.
Language & Framework
Database
Front‑end
Execution Environment
Overview
RELATE is a self‑hosted, web‑based learning management system (LMS) built on Django. It is engineered for rapid content authoring and deployment, leveraging the human‑readable combination of YAML for course metadata and Markdown for lesson text. The platform treats every learning unit as a flow – an ordered sequence of pages that can be static or interactive. This modularity enables instructors to mix multimedia, quizzes, code editors, and live classroom tools (XMPP instant messaging) within a single course instance.
Technical Stack
- Language & Framework: Python 3.x, Django 4.x (MVC pattern).
- Database: PostgreSQL is the default backend, but any SQL‑compatible DB supported by Django can be used.
- Front‑end: Server‑rendered templates powered by Django’s templating engine, with optional static assets served via CDN or local storage.
- Execution Environment: Code questions run in isolated Docker containers, providing sandboxed execution and automatic grading via a pluggable grader module.
- Messaging: XMPP integration (e.g., via
xmpp-popup) for real‑time classroom chat. - Analytics: Built‑in metrics engine aggregates student responses, quiz scores, and interaction logs; data can be exported as CSV or visualized in dashboards.
Core Capabilities
- Content Versioning: Courses are stored in a Git repository; every edit creates a new commit, allowing instructors to preview changes while students remain on stable releases.
- Flow Engine: Dynamically constructs lesson paths based on student state (e.g., prerequisites, grades).
- Extensible Question Types: Markdown pages can embed custom widgets; a code editor with syntax highlighting, sandboxed execution, and optional human grading.
- API & Webhooks: RESTful endpoints expose course data, user progress, and grading results. Custom webhooks can trigger external services (e.g., Slack notifications).
- Plugin Architecture: Developers can add Django apps that hook into the flow lifecycle, register new page types, or extend grading logic.
Deployment & Infrastructure
RELATE is designed for containerized deployment. A single Docker image bundles the Django application, PostgreSQL client libraries, and optional XMPP broker. For production, a Docker Compose or Kubernetes manifest can orchestrate the LMS alongside a PostgreSQL cluster and reverse‑proxy (NGINX/Traefik). Horizontal scaling is supported via Django’s stateless request handling; session data can be stored in Redis or the database for multi‑node setups. The Git‑backed content repository can be mounted as a volume, enabling live updates without downtime.
Integration & Extensibility
- Plugin System: The
relate.pluginspackage allows third‑party developers to register new flow page types or grading backends. - REST API: Exposes endpoints for course metadata, user authentication (via Django’s auth), and submission handling.
- Webhooks: Events such as submission received or grade updated can be forwarded to external services.
- Custom Markup: RELATE’s own markup language extends Markdown with tags for embedding code editors, quizzes, and XMPP widgets.
Developer Experience
Configuration is driven by Django’s settings.py, with optional environment variables for database credentials, Git repository paths, and XMPP server details. The project ships with comprehensive documentation covering content authoring, plugin development, and deployment. An active community on GitHub provides issue tracking, pull requests for new features (e.g., additional question types), and a discussion forum for best practices. The modular architecture keeps the codebase approachable: most developers can contribute by adding a new page type or integrating an external grading service.
Use Cases
- University Courseware: Institutions can host multiple courses in a single RELATE instance, leveraging Git for version control and XMPP for live lectures.
- Corporate Training: Companies can embed code exercises with sandboxed execution, automatically grade employee submissions, and track progress via the built‑in analytics.
- MOOC Platforms: Educators can deploy RELATE on cloud infrastructure, scale horizontally, and expose public APIs to integrate with external LMS ecosystems.
Advantages
- Performance: Django’s ORM and template caching keep page load times low, while Docker‑based code sandboxes isolate execution without heavy virtual machines.
- Flexibility: The Markdown/YAML workflow allows non‑technical instructors to author content quickly, while developers can extend functionality through plugins.
- Open Source Licensing: RELATE is released under a permissive license, giving organizations full control over the codebase and the ability to customize without vendor lock‑in.
- Scalability: Stateless request handling and optional Redis session storage make it straightforward to scale out behind a load balancer.
In summary, RELATE offers a developer‑friendly, extensible platform for building interactive courseware that balances rapid content creation with robust versioning, sandboxed code execution, and real‑time classroom collaboration.
Open SourceReady to get started?
Join the community and start self-hosting RELATE 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
Explore More Apps

Moodle
Open‑source LMS for online learning and course management
PhotoPrism
AI‑powered photo organizer for your private server
Tinode
Decentralized, mobile‑first instant messaging platform
NocoDB
Build databases like spreadsheets, no code required
Christmas Community
Family gift list to avoid double‑gifting
Pinchflat
Automated YouTube downloader for self-hosted media stacks
