Lewati ke konten

Arsitektur IMSMART

Setiap aplikasi IMSMART adalah aplikasi PHP yang halamannya dibuat di server. Saat pengguna membuka halaman, server menjalankan kode PHP, membaca database, menyusun HTML, lalu mengirim hasilnya ke browser.

sequenceDiagram
    actor U as Pengguna
    participant B as Browser
    participant S as Apache + PHP (cPanel)
    participant DB as MySQL
    U->>B: buka halaman tahfidz/login
    B->>S: permintaan halaman
    S->>S: cek sesi login
    S->>DB: baca atau tulis data
    DB-->>S: hasil
    S->>S: susun HTML
    S-->>B: halaman jadi (HTML)
    B-->>U: tampil di layar

Aplikasi tidak saling memanggil. Tiap folder berisi file halaman sendiri, konfigurasi database sendiri, dan folder uploads untuk berkas. Karena itu aplikasi mudah dipindahkan atau dipasang ulang.

sd/
imismarttahfidz_sd/
login.php halaman login
dashboard.php halaman utama
santri.php kelola santri
nilai_input.php input nilai
koneksi.php sambungan ke database
tahfidz.sql struktur database
Pola Dipakai di Ciri
PHP native Hampir semua aplikasi Satu file = satu halaman; logika dan tampilan ada dalam file yang sama
CodeIgniter 3 (MVC) Raport (SD, MSW, PGTK) Dipisah menjadi Controller, Model, View; alamat halaman diatur router
flowchart TD
    A["Pengguna isi username dan password"] --> B["Server mencari pengguna di tabel users"]
    B --> C{"Cocok?"}
    C -- "tidak" --> A
    C -- "ya" --> D["Server menyimpan identitas dan peran di sesi"]
    D --> E["Halaman berikutnya memeriksa sesi"]
    E --> F{"Sudah login<br/>dan peran diizinkan?"}
    F -- "belum login" --> A
    F -- "peran tidak boleh" --> G["Ditolak"]
    F -- "ya" --> H["Halaman tampil"]
    H --> I["Logout menghapus sesi"]

Memakai MySQL / MariaDB. Setiap aplikasi memiliki database sendiri (misalnya tahfidz, absensiv4, e-raport, pembayaran), sehingga data antar aplikasi terpisah.

Aplikasi yang sama dipasang untuk beberapa unit:

apps/
sd/ 7 aplikasi
pgtk/ 8 aplikasi
msw/ 7 aplikasi
yayasan/ 10 aplikasi

Setiap unit memiliki salinan aplikasi dan databasenya sendiri.

  • WhatsApp (SIDOBE): dipakai Absensi dan SPP untuk mengirim pesan.
  • Excel: impor dan ekspor data memakai pustaka PHPExcel.
  • Kamera / QR: halaman pindai di Absensi memakai kamera browser.

Berkas aplikasi diunggah ke hosting cPanel, database diimpor dari file .sql, lalu alamat tiap aplikasi dibuka langsung di browser.