Mencoba di lokal
IMSMART dengan Docker
Section titled “IMSMART dengan Docker”Semua aplikasi IMSMART sudah dibungkus agar bisa dijalankan dengan Docker, tanpa memasang PHP atau MySQL sendiri.
Yang perlu dipasang: Docker (dengan docker compose) dan Python 3.
git clone https://github.com/dakwah-development/imsmart.gitcd imsmartpython3 docker/sync.pydocker compose up -d --build| Layanan | Alamat |
|---|---|
| Portal dan semua aplikasi | http://localhost:8080/ |
| Contoh aplikasi | http://localhost:8080/sd/imismarttahfidz_sd/ |
| phpMyAdmin (melihat database) | http://localhost:8081/ |
Berhenti: docker compose down.
Apa yang dilakukan sync.py?
Section titled “Apa yang dilakukan sync.py?”Aplikasi IMSMART memakai nama database yang sama di beberapa unit (misalnya tahfidz di SD, PGTK, dan MSW). Agar tidak
saling menimpa, skrip membuat salinan kerja di folder www/ dan memberi tiap aplikasi database sendiri
(<unit>_<nama_aplikasi>). Folder asli tidak diubah.
SIAPS-IMUS dengan Node.js
Section titled “SIAPS-IMUS dengan Node.js”Yang perlu dipasang: Node.js 20 ke atas dan pnpm 9 ke atas.
Contoh untuk LT-SD:
cd siaps-imus-lt-sd
# 1. pasang dependensicd api && pnpm installcd ../app && pnpm install
# 2. siapkan database lokalcd ../apipnpm db:generatepnpm db:migratepnpm db:seed
# 3. jalankan (dua terminal)pnpm dev # API di http://localhost:8791# terminal lain:cd ../app && pnpm dev # tampilan di http://localhost:5177Tiap aplikasi memakai port berbeda:
| Aplikasi | API | App |
|---|---|---|
| Baitul Mal | 8787 | 5173 |
| Dakwah | 8788 | 5174 |
| Usaha | 8789 | 5175 |
| LT-MSW | 8790 | 5176 |
| LT-SD | 8791 | 5177 |
| LT-Tahfidz | 8792 | 5178 |
Saran belajar
Section titled “Saran belajar”- Jalankan satu aplikasi dari tiap sistem yang fungsinya mirip (misalnya Tahfidz IMSMART dan LT-Tahfidz).
- Lakukan pekerjaan yang sama di keduanya: tambah santri, catat hafalan.
- Buka database masing-masing (phpMyAdmin dan SQLite D1 lokal) lalu lihat data apa yang tersimpan.
- Baca halaman Arsitektur berdampingan sambil membuka kode kedua aplikasi.