Skip to content

Panduan Pengembang

nunohadianto edited this page May 29, 2026 · 1 revision

🛠️ Panduan Pengembang (Developer Guide)

Panduan ini ditujukan bagi pengembang yang ingin memodifikasi kode program, menambahkan fitur database baru, atau mengompilasi rilis installer QurbanApp.


1. Persiapan Lingkungan Pengembangan

Prasyarat:

  • Node.js: Versi LTS terbaru (direkomendasikan v20 ke atas).
  • Git: Untuk mengelola repositori kode.
  • C++ Build Tools (Windows): Karena driver basis data menggunakan better-sqlite3 yang memerlukan kompilasi biner C++ native.
    • Solusi Cepat: Jalankan PowerShell sebagai Administrator lalu ketik npm install --global windows-build-tools
    • Alternatif: Pasang Visual Studio Build Tools dengan opsi Desktop development with C++.

2. Pemasangan & Menjalankan Mode Dev

  1. Clone repositori utama:
    git clone https://github.com/Nuno-Hadianto/QurbanApp.git
    cd QurbanApp
  2. Pasang semua paket dependensi:
    npm install
  3. Jalankan aplikasi dalam mode pengembangan:
    npm start

3. Arsitektur Komunikasi IPC

Sistem ini menggunakan IPC aman dengan pembagian tugas sebagai berikut:

  1. Database Service Layer (service.js): Menyusun query database SQLite dan mengembalikan data.
    function listHewan(q = '') { ... }
  2. IPC Handler (main.js): Menerima panggilan asinkron dari jendela utama. Operasi mutasi database dibungkus dengan secureHandle.
    ipcMain.handle('hewan:list', async (_, q) => service.listHewan(q));
  3. Preload Bridge (preload.js): Mengekspos API secara terkontrol ke frontend agar terhindar dari kerentanan keamanan akses node langsung.
    contextBridge.exposeInMainWorld('api', {
      listHewan: (q) => ipcRenderer.invoke('hewan:list', q),
    });
  4. Frontend DOM Control (app.js): Memanggil API jembatan untuk me-render data ke elemen HTML.
    state.hewan = await window.api.listHewan(q);

4. Pengemasan Kode (Build .EXE Installer)

Aplikasi dikompilasi menggunakan electron-builder. Untuk membuat berkas instalasi mandiri Windows:

  1. Bersihkan folder build dist lama:
    npm run clean
  2. Lakukan kompilasi pembuatan installer baru:
    npm run build
  3. Installer siap pakai akan tersimpan di dalam folder dist/ dengan nama berkas QurbanAppSetup.exe.

5. Otomatisasi GitHub Actions (CI/CD)

Repositori dikonfigurasi dengan alur GitHub Actions pada berkas .github/workflows/build.yml:

  • Setiap kali Anda menaruh tag baru (contoh git tag v1.0.0 dan git push origin v1.0.0), runner GitHub Actions di cloud (windows-latest) akan otomatis mengompilasi berkas rilis dan mempublikasikannya langsung ke halaman GitHub Releases proyek Anda.

Clone this wiki locally