Skip to content

Repository files navigation

PBB Manager Dashboard

PBB Manager

Sistem Manajemen Pajak Bumi & Bangunan Tingkat Desa All-in-one platform untuk digitalisasi penagihan PBB, pemetaan GIS wilayah, arsip SPPT digital, dan aplikasi petugas lapangan.

Next.js React 19 Expo SDK 55 Prisma SQLite TailwindCSS License: MIT Firebase Version

📖 Panduan Instalasi · 📲 Panduan Notifikasi · 📘 Wiki Teknis · 📋 Changelog · 🔒 Security


✨ Kenapa PBB Manager?

PBB Manager dibangun khusus untuk menyelesaikan masalah nyata pengelolaan pajak di tingkat desa — mulai dari pencatatan manual yang rawan hilang, kesulitan pemantauan pembayaran real-time, hingga distribusi SPPT yang tidak efisien. Sistem ini menggabungkan dashboard web admin, peta GIS interaktif, portal layanan warga, dan aplikasi mobile petugas lapangan dalam satu platform terintegrasi.

Perbandingan dengan Cara Konvensional

Aspek ❌ Cara Lama ✅ PBB Manager
Pencatatan Buku DHKP fisik rawan rusak/hilang Database digital terenkripsi + backup otomatis
Monitoring Rekap manual akhir bulan Dashboard real-time per wilayah + heatmap GIS
Distribusi SPPT Cetak massal, bagi manual Smart Scan + arsip digital per NOP
Penagihan Petugas bawa buku tebal Aplikasi mobile ringan + update status instan
Layanan Warga Datang ke kantor desa Portal mandiri 24/7 + cetak kwitansi online
Keamanan Data File Excel tanpa proteksi PIN NOP + rate limiting + XSS/CSRF protection

🏗️ Arsitektur & Teknologi

┌──────────────────────────────────────────────────────────────────┐
│                        PBB Manager v10.4.0                       │
├──────────────────┬──────────────────┬────────────────────────────┤
│   Web Dashboard  │  Portal Publik   │    PBB Mobile v2.1.0       │
│   (Admin/Petugas)│  (Warga)         │    (Petugas Lapangan)     │
│                  │                  │                            │
│  Next.js 16      │  Turnstile CAPTCHA│  Expo SDK 55             │
│  React 19        │  PIN NOP 4-Digit │  React Native 0.85        │
│  Tailwind CSS 4  │  NOP Masking     │  NativeWind               │
├──────────────────┴──────────────────┴────────────────────────────┤
│                     API Layer (Next.js App Router)               │
│            Server Actions · REST API · JWT Auth                  │
├──────────────────────────────────────────────────────────────────┤
│                    Prisma 7.8 ORM + SQLite (WAL Mode)            │
│          PRAGMA synchronous=NORMAL · busy_timeout=5000           │
└──────────────────────────────────────────────────────────────────┘
Layer Teknologi Keterangan
Frontend Web Next.js 16, React 19, Tailwind CSS 4 SSR/SSG, React Compiler, App Router
Mobile Expo SDK 55, React Native 0.85 APK/AAB via EAS Build
Database Prisma 7.8 + SQLite (WAL) Portabel, zero-config, concurrent reads
Auth NextAuth v4 + JWT (Mobile) Session-based (web), Bearer token (mobile)
GIS Leaflet + React-Leaflet GPX ingestion, heatmap, polygon overlay
Security Cloudflare Turnstile, bcrypt, DOMPurify CAPTCHA, hashing, sanitization

🔐 Keamanan (v10.0 — Deep Hardening)

PBB Manager v10.0 menerapkan pengamanan berlapis untuk melindungi privasi data wajib pajak:

  • 🔑 PIN NOP 4-Digit — Akses data sensitif (salin NOP, cetak kwitansi, unduh E-SPPT, pengajuan mutasi) wajib verifikasi 4 digit terakhir NOP dari SPPT fisik
  • 🛡️ NOP Masking — Semua NOP di portal publik dan peta GIS otomatis disensor (35.17.XXX.XXX-XXXX.X)
  • ⏱️ Rate Limiting — Maks. 5 percobaan PIN salah → blokir IP selama 15 menit
  • 🤖 Cloudflare Turnstile — Bot protection dengan rendering eksplisit, SPA-safe lifecycle
  • 🔒 Mobile API Guard — JWT validation ketat di seluruh endpoint petugas
  • 📦 Zip Slip Protection — Path traversal guard pada restore database
  • 🧹 XSS Protection — Sanitasi metadata GIS dan input pengguna via DOMPurify
  • 🕵️ Anti-Indexing — Triple-shield: X-Robots-Tag + meta robots + robots.txt

Detail lengkap: SECURITY.md · Wiki Keamanan


📦 Fitur Unggulan

🗺️ GIS Command Center
  • Peta interaktif dengan layer Dusun/RT/RW dan citra satelit
  • Heatmap gradasi warna berdasarkan persentase pelunasan wilayah
  • Upload massal file GPX dengan auto-detect metadata dari nama file
  • Detail WP belum bayar langsung dari popup peta
  • NOP tersensor di peta publik, transparan di peta admin
📱 PBB Mobile v2.1.0 (Petugas Lapangan)
  • Login dengan JWT Bearer Token & koneksi server dinamis berbasis domain VPS desa
  • Pencarian WP cepat dengan lazy loading untuk ribuan data
  • Update status pembayaran real-time dari lapangan
  • Timeline penagihan harian sebagai bukti audit
  • Push Notification Instan (Double-Strike FCM/Expo) dengan prioritas Doze Mode Android
  • Deep Linking Navigasi Cerdas: Ketuk notifikasi untuk langsung menuju detail WP
  • Build APK/AAB otomatis via EAS Build
📄 Smart Scan Arsip Digital
  • Unggah file E-SPPT massal dari Bapenda (ribuan halaman)
  • Algoritma pemecahan otomatis per NOP
  • Pratinjau dan unduh SPPT personal melalui portal
  • Kompresi arsip otomatis untuk efisiensi penyimpanan
🏛️ Portal Layanan Warga
  • Cek tagihan mandiri 24/7 tanpa login
  • Cetak kwitansi A6 resmi & unduh E-SPPT PDF
  • Pengajuan mutasi (Waris, Jual Beli, Hibah) dengan generate dokumen .docx
  • Cek status pembayaran Bapenda real-time
  • Redirect pembayaran online EPAY Jombang
📊 Dashboard & Laporan
  • Statistik realisasi real-time per Dusun/RT/RW
  • Grafik performa pembayaran dan trend tahunan
  • Export laporan Excel/PDF untuk kebutuhan pelaporan
  • Sinkronisasi data dengan DHKP Bapenda (Smart Sync)
  • Web Push Notifications Asli untuk info delegasi tugas real-time di layar Desktop/Browser

🔒 Hirarki Akses

Role Platform Kemampuan
ADMIN Web Dashboard Konfigurasi penuh: GIS, arsip, sinkronisasi data, manajemen pengguna, backup/restore
PETUGAS PBB Mobile Penagihan lapangan: update status bayar, pencarian WP, riwayat transaksi harian
WARGA Portal Publik Layanan mandiri: cek tagihan, cetak kwitansi, unduh E-SPPT, ajukan mutasi (setelah verifikasi PIN)

🚀 Instalasi Cepat

Prasyarat: Node.js v20+ · Git

# 1. Clone repository
git clone https://github.com/balongbesuk/pbb-app.git
cd pbb-app

# 2. Install & setup otomatis (database + seed + env)
npm install

# 3. Jalankan development server
npm run dev

# 4. Jalankan unit testing
npm run test

Buka http://localhost:3000 — Login default: admin / admin123

Mobile App (Opsional)

cd pbb-mobile
npm install
npx expo start

📘 Panduan lengkap: Panduan Instalasi · Checklist Produksi


📚 Dokumentasi

Dokumen Deskripsi
📖 Panduan Instalasi Setup server, konfigurasi database, inisialisasi awal
📲 Panduan Push Notifikasi Setup notifikasi ganda FCM + Web VAPID untuk desa
📘 Wiki Teknis & Keamanan Arsitektur, hardening, indeks teknis GIS
📱 Panduan Mobile Build Build APK/AAB dengan EAS Build
📋 Dokumentasi Penggunaan Panduan operasional harian admin & petugas
✅ Checklist Produksi Environment, backup, proxy, hardening sebelum go-live
📋 Changelog Riwayat perubahan semua versi
🔒 Security Policy Kebijakan keamanan & cara melaporkan kerentanan

🤝 Kontribusi

Kontribusi dalam bentuk apapun sangat diapresiasi! Silakan buka Issue untuk melaporkan bug atau Pull Request untuk perbaikan dan fitur baru.

  1. Fork repository ini
  2. Buat branch fitur: git checkout -b fitur/fitur-baru
  3. Commit perubahan: git commit -m "feat: tambah fitur baru"
  4. Push ke branch: git push origin fitur/fitur-baru
  5. Buka Pull Request

📄 Lisensi

Proyek ini dilisensikan di bawah MIT License — bebas digunakan, dimodifikasi, dan didistribusikan.


Dikembangkan untuk kemajuan digitalisasi desa di Indonesia 🇮🇩

Dibuat dengan ❤️ oleh Balongbesuk · Terakhir diperbarui: Juni 2026

About

Aplikasi Management Pajak Bumi dan Bangunan (PBB) dan Surat Pemberitahuan Pajak Terhutang (SPPT) Tingkat Desa, Pengajuan SPOP (Surat Pemberitahuan Objek Pajak) dan LSPOP (Lampiran Surat Pemberitahuan Objek Pajak) Otomatis

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages