assets/vue/
├── main.js # アプリケーションのエントリーポイント
├── main_installer.js # インストーラーのエントリーポイント
├── components/ # 再利用可能なVueコンポーネント
│ ├── accessurl/ # マルチURL(ポータル)コンポーネント
│ ├── admin/ # 管理者向けの特定コンポーネント
│ ├── assignments/ # 課題のフォームとリスト
│ ├── attendance/ # 出欠確認シートコンポーネント
│ ├── basecomponents/ # 共有ベースコンポーネント(BaseButton, BaseIcon, BaseTable, BaseTinyEditorなど)およびChamiloIcons.js
│ ├── blog/ # ブログコンポーネント
│ ├── branch/ # ネットワークの支店/キャンパスコンポーネント
│ ├── ccalendarevent/ # コースカレンダーイベントコンポーネント
│ ├── chat/ # チャットおよびAIチューター
│ ├── course/ # コースカード、カタログ、フォーム
│ ├── coursecategory/ # コースカテゴリコンポーネント
│ ├── coursemaintenance/ # コースのバックアップ/復元コンポーネント
│ ├── ctoolintro/ # コースツール紹介コンポーネント
│ ├── documents/ # ドキュメント管理コンポーネント
│ ├── dropbox/ # Dropbox(ファイル交換)コンポーネント
│ ├── filemanager/ # ファイルブラウザコンポーネント
│ ├── glossary/ # 用語集コンポーネント
│ ├── installer/ # インストールウィザード
│ ├── layout/ # サイドバー、トップバー、シェルレイアウト
│ ├── links/ # 外部リンクコンポーネント
│ ├── login/ # ログインフォームコンポーネント
│ ├── lp/ # 学習パスコンポーネント
│ ├── message/ # メッセージコンポーネント
│ ├── page/ # 静的ページコンポーネント
│ ├── pageLayout/ # ページレイアウトのラッパーコンポーネント
│ ├── personalfile/ # 個人ファイルスペースコンポーネント
│ ├── platform/ # プラットフォームレベルのUIコンポーネント
│ ├── resource_links/ # リソースリンク管理コンポーネント
│ ├── room/ # 仮想ルームコンポーネント
│ ├── session/ # セッション(学習キャンペーン)コンポーネント
│ ├── sessionadmin/ # セッション管理コンポーネント
│ ├── skill/ # スキルおよび能力コンポーネント
│ ├── social/ # ソーシャルネットワークコンポーネント
│ ├── systemannouncement/ # システムアナウンスメントコンポーネント
│ ├── user/ # ユーザー管理およびプロフィールコンポーネント
│ ├── usergroup/ # ユーザーグループ(クラス)コンポーネント
│ └── userreluser/ # ユーザー関係(友達/フォロー)コンポーネント
├── views/ # ページレベルのVueビュー(components/の構造を反映)
│ ├── accessurl/ ├── account/ ├── admin/
│ ├── assignments/ ├── attendance/ ├── blog/
│ ├── branch/ ├── buycourses/ ├── ccalendarevent/
│ ├── course/ ├── coursecategory/ ├── coursemaintenance/
│ ├── ctoolintro/ ├── documents/ ├── dropbox/
│ ├── filemanager/ ├── glossary/ ├── links/
│ ├── lp/ ├── message/ ├── page/
│ ├── pageLayout/ ├── personalfile/ ├── room/
│ ├── sessionadmin/ ├── skill/ ├── social/
│ ├── terms/ ├── user/ ├── usergroup/
│ └── userreluser/
├── router/ # Vue Router (index.js + 機能エリアごとのモジュール)
├── store/ # Piniaストア
│ └── modules/ # crud.js, notifications.js, ux.js
├── composables/ # 共有コンポジション関数(機能ごとのサブディレクトリ)
├── services/ # APIサービスレイヤー(エンティティ/ドメインごとのファイル)
├── utils/ # ユーティリティヘルパー(日付、hydra、fetch、sanitizeHtmlなど)
├── config/ # 実行時設定(api.js, env.js)
├── constants/ # 共有定数
│ └── entity/ # エンティティ固有の定数(セッション、メッセージ、追加フィールドなど)
├── layouts/ # 高レベルレイアウトコンポーネント(MyCourses.vue)
├── pages/ # 独立したページコンポーネント(Home, Login, Faq, Demo)
├── mixins/ # 従来のVue 2スタイルのミックスイン(ListMixin, CreateMixinなど)
├── hooks/ # コンポーザブルフック(useSidebar, useState)
├── plugins/ # Vueプラグイン登録(httpErrors, vuetify)
├── validators/ # カスタムVuelidateバリデーター
└── error/ # エラーバウンダリコンポーネント