Tentang Proyek
IYiS (Ismuhu Yahya Islamic School) adalah aplikasi manajemen sekolah Islam berbasis mobile yang dikembangkan menggunakan Flutter. Aplikasi ini dirancang untuk mempermudah pengelolaan kegiatan akademik dan administrasi sekolah — mulai dari data siswa, jadwal pelajaran, absensi, hingga komunikasi dengan orang tua secara digital.
Dibangun dengan arsitektur Clean Architecture, sistem ini memisahkan logika bisnis dan data secara tegas sehingga mudah dikembangkan seiring bertambahnya kebutuhan sekolah.
Fitur Utama
Manajemen Multi-Unit
Kelola sekolah, pesantren, dan masjid dalam satu dashboard
Data SDM Terpusat
Pengelolaan guru, karyawan, dan santri dalam satu sistem
Keuangan Yayasan
Laporan pemasukan, pengeluaran, dan anggaran per unit
Absensi Digital
Rekap kehadiran guru dan karyawan seluruh unit secara real-time
Dashboard Eksekutif
Ringkasan data seluruh unit dalam grafik yang mudah dibaca
Akses Berbasis Role
Hak akses terpisah untuk ketua yayasan, kepala unit, dan staf
Tantangan & Solusi
Integrasi data lintas unit yang heterogen
Setiap unit (sekolah, pesantren, masjid) memiliki struktur data yang berbeda-beda, menyulitkan penyatuan dalam satu sistem yang konsisten.
Desain schema database yang fleksibel dengan pendekatan polymorphic relations, memungkinkan tiap unit memiliki atribut uniknya tanpa mengorbankan konsistensi data utama.
Performa dashboard dengan banyak data agregasi
Dashboard eksekutif perlu menampilkan ringkasan dari seluruh unit secara real-time, yang berpotensi memperlambat aplikasi jika tidak dioptimalkan.
Implementasi background data fetching dengan BLoC pattern dan caching lokal menggunakan Hive, sehingga dashboard tetap responsif meskipun data diambil dari banyak endpoint.
Manajemen hak akses yang kompleks
Ketua yayasan, kepala unit, dan staf memerlukan tampilan dan akses fitur yang berbeda — dengan lapisan pengecualian per departemen.
Role-based access control (RBAC) yang dikonfigurasi di server-side dan dicerminkan di UI Flutter, sehingga menu dan fitur hanya muncul sesuai hak akses pengguna yang sedang login.