githubEdit

Developer Guide

Welcome to the Chamilo 2.0 Developer Guide. This guide is for developers who want to understand the Chamilo architecture, extend the platform with plugins, use the API, customize the interface, or contribute to the project.

Architecture at a Glance

Chamilo 2.0 is built on:

  • Backend: Symfony 6.4 (PHP 8.2+) with Doctrine ORM and API Platform 3.0

  • Frontend: Vue 3 with PrimeVue, Pinia state management, and Vue Router

  • Build system: Webpack 5 via Symfony Webpack Encore, with Tailwind CSS

  • Authentication: JWT tokens (lexik/jwt-authentication-bundle)

  • File storage: Flysystem (supports local, AWS S3, Azure Blob, Google Cloud)

The codebase is organized into three Symfony bundles:

Bundle
Purpose

CoreBundle

Platform core: users, settings, resources, admin, AI providers, security

CourseBundle

Course-specific features: documents, exercises, learning paths, forums, etc.

LtiBundle

LTI 1.3 integration for external learning tools

How This Guide Is Organized

  1. Getting Started — Tech stack, development setup, project structure

  2. Backend — Symfony architecture, entities, resource system, controllers, settings

  3. API — REST API via API Platform, JWT authentication, custom actions

  4. Frontend — Vue components, views, routing, state management, build system

  5. Theming — Color themes, CSS/Tailwind, Twig templates

  6. Plugins — Plugin architecture and development

  7. Contributing — Coding conventions, git workflow, testing

Last updated

Was this helpful?