Lewati ke konten

Mencoba di lokal

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.

Terminal window
git clone https://github.com/dakwah-development/imsmart.git
cd imsmart
python3 docker/sync.py
docker 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.

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.

Yang perlu dipasang: Node.js 20 ke atas dan pnpm 9 ke atas.

Contoh untuk LT-SD:

Terminal window
cd siaps-imus-lt-sd
# 1. pasang dependensi
cd api && pnpm install
cd ../app && pnpm install
# 2. siapkan database lokal
cd ../api
pnpm db:generate
pnpm db:migrate
pnpm db:seed
# 3. jalankan (dua terminal)
pnpm dev # API di http://localhost:8791
# terminal lain:
cd ../app && pnpm dev # tampilan di http://localhost:5177

Tiap 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
  1. Jalankan satu aplikasi dari tiap sistem yang fungsinya mirip (misalnya Tahfidz IMSMART dan LT-Tahfidz).
  2. Lakukan pekerjaan yang sama di keduanya: tambah santri, catat hafalan.
  3. Buka database masing-masing (phpMyAdmin dan SQLite D1 lokal) lalu lihat data apa yang tersimpan.
  4. Baca halaman Arsitektur berdampingan sambil membuka kode kedua aplikasi.