Alur Sistem
Flowchart proses penting dari request sampai database
Halaman ini menjelaskan urutan proses fitur-fitur utama, supaya developer baru tahu file dan tabel mana yang terlibat.
Nama controller dan job diambil dari kode yang dibahas selama development. Verifikasi ulang dengan kode terbaru sebelum dijadikan acuan.
1. Request web sampai database tenant
2. Login
Jika model_type di model_has_roles berbeda dengan model guard yang dipakai, role tidak terbaca dan login gagal.
3. Sidebar dan hak akses
Role khusus seperti Bendahara, TU, dan Humas tidak boleh melihat semua kategori. Jangan membuat fallback yang menampilkan semua menu saat permission kosong (fail-open).
4. Absensi dan notifikasi FCM
Catatan:
- Notifikasi hanya dikirim untuk
type === 4(Alpha). - Teks notifikasi sebaiknya lewat file terjemahan, jangan hardcode bahasa Inggris.
- Jika muncul error
invalid_grant, cek jam server (NTP) dan pastikan service account key Firebase masih valid. - File key Firebase tidak boleh masuk ke git. Simpan di
assets/firebase/services-account-key.jsondan masukkan ke.gitignore.
5. Import guru massal
Kolom created_at dan updated_at wajib ikut diisi saat upsert(). Untuk proses berat, pakai queue:
QUEUE_CONNECTION=databasephp artisan queue:work6. Contact inquiry (lintas tenant)
Masalah yang pernah terjadi: submitWeb menyimpan ke database tenant aktif karena middleware SwitchDatabase, sehingga data tidak muncul di super admin yang membaca database central. Super admin harus bisa melihat inquiry dari semua tenant.
7. Penghapusan siswa
Jika model_has_roles tidak ikut dihapus, angka di dashboard membengkak karena sisa data yatim.
8. Alur deployment
Lihat halaman Deployment.