> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/2.x-el/odigos-programmatisti/developer-guide.md).

# Οδηγός Προγραμματιστή

Καλώς ήρθατε στον Οδηγό Προγραμματιστή του Chamilo 2.0. Αυτός ο οδηγός απευθύνεται σε προγραμματιστές που επιθυμούν να κατανοήσουν την αρχιτεκτονική του Chamilo, να επεκτείνουν την πλατφόρμα με plugins, να χρησιμοποιήσουν το API, να προσαρμόσουν τη διεπαφή ή να συνεισφέρουν στο έργο.

## Η Αρχιτεκτονική με μια Ματιά

Το Chamilo 2.0 βασίζεται σε:

* **Backend**: Symfony 6.4 (PHP 8.2+) με Doctrine ORM και API Platform 3.0
* **Frontend**: Vue 3 με PrimeVue, Pinia state management, και Vue Router
* **Build system**: Webpack 5 μέσω Symfony Webpack Encore, με Tailwind CSS
* **Authentication**: JWT tokens (lexik/jwt-authentication-bundle)
* **File storage**: Flysystem (υποστηρίζει local, AWS S3, Azure Blob, Google Cloud)

Ο κώδικας οργανώνεται σε τρία Symfony bundles:

| Bundle           | Σκοπός                                                                                            |
| ---------------- | ------------------------------------------------------------------------------------------------- |
| **CoreBundle**   | Κεντρικός πυρήνας της πλατφόρμας: χρήστες, ρυθμίσεις, πόροι, διαχειριστής, AI providers, ασφάλεια |
| **CourseBundle** | Χαρακτηριστικά ειδικά για μαθήματα: έγγραφα, ασκήσεις, μονοπάτια μάθησης, φόρουμ, κ.λπ.           |
| **LtiBundle**    | Ενσωμάτωση LTI 1.3 για εξωτερικά εκπαιδευτικά εργαλεία                                            |

## Πώς Οργανώνεται Αυτός ο Οδηγός

1. **Ξεκινώντας** — Tech stack, εγκατάσταση ανάπτυξης, δομή έργου
2. **Backend** — Αρχιτεκτονική Symfony, οντότητες, σύστημα πόρων, controllers, ρυθμίσεις
3. **API** — REST API μέσω API Platform, JWT authentication, προσαρμοσμένες ενέργειες
4. **Frontend** — Vue components, views, routing, state management, build system
5. **Theming** — Color themes, CSS/Tailwind, Twig templates
6. **Plugins** — Plugin architecture και ανάπτυξη
7. **Συνεισφορά** — Συνήθειες κωδικοποίησης, git workflow, δοκιμές


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chamilo.org/2.x-el/odigos-programmatisti/developer-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
