# Modul HMVC CI3

HMVC memakai **MX** (`application/third_party/MX/`). `MY_Controller` extends `MX_Controller`.

## Modul: `admin`

- **Controllers:** `Home`, `Pegawai`, `Presensi`, `Perusahaan`, `Laporan`, `Panel`, `Util`, `Errors`
- **Views:** banyak template CRUD, laporan cetak, partial layout (`_layouts`, `_partials`)
- **Libraries modul:** `Ciqrcode.php`, `Sortable.php`
- **Config modul:** `ci_bootstrap.php`, `grocery_crud.php`, `form_validation.php`, `image_crud.php`, `ion_auth.php`

**Pemetaan CI4 (fase berikut):**

| CI3 admin | CI4 sasaran |
|-----------|-------------|
| CRUD Grocery | Resource controller + model / paket CRUD modern |
| Laporan + PHPExcel | PhpSpreadsheet + view PDF/HTML |
| Views PHP | View CI4 bertahap atau SPA terpisah |

## Modul: `api`

- **Controllers:** `Home`, `Swagger`, `Errors`
- **Libraries:** `Jwt_client.php` (Firebase JWT) — **terpisah** dari token kolom `pegawai` yang dipakai `Json.php` mobile.

**CI4:** pertahankan dokumentasi OpenAPI di `docs/`; implement JWT terpadu (opsional) setelah cutover mobile.

## Modul: `adminlte`

- **Controllers:** `Widget.php` — komponen UI.

**CI4:** bisa digabung ke partial view admin atau dihapus jika tidak terpakai.

## Third_party utama (relasi modul)

- `ion_auth`, `grocery_crud`, `image_crud`, `rest_server`, `MX`
