# 開発者ガイド

Chamilo 2.0 開発者ガイドへようこそ。このガイドは、Chamilo のアーキテクチャを理解し、プラグインでプラットフォームを拡張したり、API を使用したり、インターフェースをカスタマイズしたり、プロジェクトに貢献したいと考えている開発者向けに作成されています。

## アーキテクチャの概要

Chamilo 2.0 は以下の技術に基づいて構築されています：

* **バックエンド**: Symfony 6.4 (PHP 8.2+) と Doctrine ORM、API Platform 3.0
* **フロントエンド**: Vue 3 と PrimeVue、Pinia ステート管理、Vue Router
* **ビルドシステム**: Symfony Webpack Encore を介した Webpack 5、Tailwind CSS を使用
* **認証**: JWT トークン (lexik/jwt-authentication-bundle)
* **ファイルストレージ**: Flysystem (ローカル、AWS S3、Azure Blob、Google Cloud をサポート)

コードベースは、3 つの Symfony バンドルに整理されています：

| バンドル             | 目的                                           |
| ---------------- | -------------------------------------------- |
| **CoreBundle**   | プラットフォームの中核：ユーザー、設定、リソース、管理、AI プロバイダー、セキュリティ |
| **CourseBundle** | コース固有の機能：ドキュメント、演習、学習パス、フォーラムなど              |
| **LtiBundle**    | 外部学習ツールのための LTI 1.3 統合                       |

## このガイドの構成

1. **はじめに** — 技術スタック、開発環境のセットアップ、プロジェクト構造
2. **バックエンド** — Symfony アーキテクチャ、エンティティ、リソースシステム、コントローラー、設定
3. **API** — API Platform を介した REST API、JWT 認証、カスタムアクション
4. **フロントエンド** — Vue コンポーネント、ビュー、ルーティング、ステート管理、ビルドシステム
5. **テーマ設定** — カラーテーマ、CSS/Tailwind、Twig テンプレート
6. **プラグイン** — プラグインアーキテクチャと開発
7. **貢献** — コーディング規約、git ワークフロー、テスト


---

# Agent Instructions: 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-ja/gaido-2/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.
