Knowledge Base ORA RIBET Tutorial

Dokumentasi Teknis: Arsitektur Generator Profil RT

K
Knowledge Base
28 Desember 2025
3 views
Tutorial
Artikel untuk: ORA RIBET
Sistem Manajemen Pengajuan Program Bantuan Efisien, Transparan, dan Berbasis Data Real dari Teraskota API. Tidak perlu ribet lagi mengelola pengajuan bantuan RT/RW!

Target: Developer / IT Maintenance
Tujuan: Memahami alur data dan struktur backend untuk maintenance.

Ikhtisar Sistem

Modul ini menggunakan pendekatan step-by-step wizard di frontend dan Puppeteer di backend untuk merender HTML menjadi PDF.

Struktur Data & API

Proses pengambilan data memanggil endpoint berikut secara berurutan:

  1. GET /api/rt-profile/territories
    Digunakan untuk mengisi dropdown (Kecamatan -> Kelurahan -> RW/RT). Menggunakan parameter filter dinamis.
  2. GET /api/rt-profile/data
    Mengambil data agregasi program. Logic utama meliputi:
  • Query submissions dari RT terpilih.
  • Join dengan tabel programs dan master_katalog_kegiatan.
  • Filter 13 program target (misal: Parenting Umum, RTLH, dll).
  1. POST /api/rt-profile/generate
    Endpoint final untuk pembuatan PDF.

Spesifikasi PDF Engine

PDF digenerate menggunakan library Puppeteer dengan konfigurasi halaman A4:

code snippet konfigurasi:

{
  format: 'A4',
  printBackground: true,
  margin: {
    top: '1cm',
    right: '1.5cm',
    bottom: '1cm',
    left: '1.5cm'
  }
}

Lokasi File Penting

Jika perlu melakukan perubahan template atau logic, akses file berikut:

  • Frontend: views/rt-profile-generator.html
  • Backend Route: routes/rt-profile.routes.js
  • Fungsi Template: generateHTMLProfile()

Catatan Pengembang:
Pastikan server memiliki memori minimal 512MB agar proses headless browser Puppeteer berjalan lancar tanpa crash.

Terakhir diupdate: 28 Desember 2025