Kirim token juga via query param untuk kompatibilitas WebService Dapodik. Tambahkan detil error (HTTP code + snippet) saat response bukan JSON/empty.
Modular Monolith Structure
Struktur modular monolith untuk SMAN1 Face Attendance System.
Struktur Modul
Setiap modul mengikuti clean architecture pattern dengan pemisahan layer:
app/Modules/
├── Auth/
│ ├── Controllers/ # HTTP request handlers
│ ├── Models/ # Data access layer
│ ├── Services/ # Business logic layer
│ └── Entities/ # Domain entities
├── Students/
│ ├── Controllers/
│ ├── Models/
│ ├── Services/
│ └── Entities/
├── Attendance/
│ ├── Controllers/
│ ├── Models/
│ ├── Services/
│ └── Entities/
├── Devices/
│ ├── Controllers/
│ ├── Models/
│ ├── Services/
│ └── Entities/
└── Dashboard/
├── Controllers/
├── Models/
├── Services/
└── Entities/
Namespace Convention
Semua modul menggunakan namespace App\Modules\{ModuleName}\{Layer}
Contoh:
App\Modules\Auth\Controllers\AuthControllerApp\Modules\Students\Services\StudentServiceApp\Modules\Attendance\Models\AttendanceModel
Autoloading
Modul-modul otomatis ter-autoload melalui Composer PSR-4 autoloading yang sudah dikonfigurasi di composer.json.