> 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/3.x/el/odigos-programmatisti/developer-guide.md).

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

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

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

Το Chamilo 3.0 βασίζεται στα εξής:

* **Backend**: Symfony 7.4 (PHP 8.3–8.5) με Doctrine ORM και API Platform 4
* **Frontend**: Vue 3 με PrimeVue, διαχείριση κατάστασης Pinia και Vue Router
* **Σύστημα κατασκευής**: Webpack 5 μέσω Symfony Webpack Encore, με Tailwind CSS
* **Authentication**: JWT tokens (lexik/jwt-authentication-bundle)
* **Αποθήκευση αρχείων**: Flysystem (υποστηρίζει local, AWS S3, Azure Blob, Google Cloud)

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

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

## Πώς είναι οργανωμένος αυτός ο οδηγός

1. **Getting Started** — Στοίβα τεχνολογιών, περιβάλλον ανάπτυξης, δομή έργου
2. **Backend** — Αρχιτεκτονική Symfony, οντότητες, σύστημα πόρων, controllers, ρυθμίσεις
3. **API** — REST API μέσω API Platform, JWT authentication, προσαρμοσμένες ενέργειες
4. **Frontend** — Στοιχεία Vue, προβολές, δρομολόγηση, διαχείριση κατάστασης, σύστημα κατασκευής
5. **Theming** — Χρωματικά θέματα, CSS/Tailwind, πρότυπα Twig
6. **Plugins** — Αρχιτεκτονική και ανάπτυξη πρόσθετων
7. **Contributing** — Συμβάσεις κώδικα, ροή εργασίας git, δοκιμές
