Struktur Proyek
Struktur Direktori
sutomo-school-management/
├── app/
│ ├── Filament/ # Resource panel Filament
│ │ ├── Clusters/ # Cluster panel (Recruitment, System, dll)
│ │ ├── Forms/ # Komponen form kustom
│ │ ├── Resources/ # Resource CRUD (per domain)
│ │ │ └── DomainName/
│ │ │ ├── EntityResource.php
│ │ │ ├── Schemas/ # Skema form + infolist
│ │ │ ├── Tables/ # Definisi tabel
│ │ │ └── Pages/ # List, Create, Edit, View
│ │ └── Schemas/ # Komponen skema bersama
│ ├── Models/ # Model Eloquent (per domain)
│ │ └── DomainName/
│ │ └── Entity/
│ │ ├── Entity.php
│ │ └── Concerns/
│ │ ├── HasRelations.php
│ │ ├── HasAttributes.php
│ │ └── HasScopes.php
│ ├── Services/ # Logika bisnis
│ └── Enums/ # Enum PHP
├── database/
│ ├── factories/ # Factory model
│ ├── migrations/ # Migrasi (v1_0_0, v1_1_0, dll)
│ └── seeders/ # Seeder database
├── docs/ # Artikel Knowledge Base
├── handbooks/ # Dokumentasi teknis Vitepress
├── routes/ # Definisi route
└── tests/ # Test PHP (Pest)Cara Buat Domain Baru
- Buat model di
app/Models/NewDomain/Entity/Entity.php - Buat
Concerns/HasRelations.phpuntuk relasi - Buat migration di
database/migrations/v1_4_0/ - Buat Filament resource di
app/Filament/Resources/NewDomain/ - Daftarkan route di resource
getPages() - Buat factory di
database/factories/
Referensi Belajar
| Topik | Link |
|---|---|
| Dokumentasi Laravel | https://laravel.com/docs/13.x |
| Dokumentasi Filament | https://filamentphp.com/docs/5.x/panels |
| Pest Testing | https://pestphp.com/docs |
| FrankenPHP / Octane | https://frankenphp.dev |