eSchool Dev Docs

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

Memuat diagram...

2. Login

Memuat diagram...

Jika model_type di model_has_roles berbeda dengan model guard yang dipakai, role tidak terbaca dan login gagal.

3. Sidebar dan hak akses

Memuat diagram...

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

Memuat diagram...

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.json dan masukkan ke .gitignore.

5. Import guru massal

Memuat diagram...

Kolom created_at dan updated_at wajib ikut diisi saat upsert(). Untuk proses berat, pakai queue:

QUEUE_CONNECTION=database
php artisan queue:work

6. Contact inquiry (lintas tenant)

Memuat diagram...

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

Memuat diagram...

Jika model_has_roles tidak ikut dihapus, angka di dashboard membengkak karena sisa data yatim.

8. Alur deployment

Lihat halaman Deployment.

On this page