Files
presensi/app/Modules
mwpn 8d7cdd05b7 fix: dapodik client token & error detail
Kirim token juga via query param untuk kompatibilitas WebService Dapodik.
Tambahkan detil error (HTTP code + snippet) saat response bukan JSON/empty.
2026-03-06 16:29:48 +07:00
..
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00
2026-03-05 14:37:36 +07:00

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\AuthController
  • App\Modules\Students\Services\StudentService
  • App\Modules\Attendance\Models\AttendanceModel

Autoloading

Modul-modul otomatis ter-autoload melalui Composer PSR-4 autoloading yang sudah dikonfigurasi di composer.json.