# WebGIS Pengentasan Kemiskinan — Pontianak v2.0 ### Sistem Informasi Geografis berbasis Masyarakat & Rumah Ibadah --- ## 🏗️ Struktur Proyek ``` webgis-kemiskinan/ ├── index.html # Frontend utama ├── .htaccess # URL rewriting Apache ├── config/ │ ├── app.php # Konstanta aplikasi │ └── database.php # Koneksi PDO MySQL ├── includes/ │ └── helpers.php # Auth, sanitasi, log, utils ├── api/ │ ├── index.php # Router RESTful │ └── controllers/ │ ├── AuthController.php │ ├── PendudukController.php │ ├── KeluargaController.php │ ├── BantuanController.php │ ├── HistoriController.php │ ├── LaporanController.php │ ├── RumahIbadahController.php │ ├── DashboardController.php │ ├── PetaController.php │ ├── PrioritasController.php │ ├── ChatController.php │ ├── LogController.php │ ├── PeristiwaController.php │ └── UserController.php ├── assets/ │ ├── css/style.css │ └── js/ │ ├── api.js # HTTP helper │ ├── app.js # Bootstrap & routing │ ├── map.js # Leaflet engine │ ├── dashboard.js │ ├── penduduk.js │ ├── keluarga.js │ ├── bantuan.js │ ├── laporan.js │ └── ri.js # RI + Prioritas + Chat + Log ├── uploads/ │ ├── foto_laporan/ │ └── bukti_bantuan/ └── sql/ └── schema.sql # Database lengkap + seed data ``` --- ## 🚀 Cara Instalasi ### 1. Persyaratan - PHP 8.0+ - MySQL 5.7+ / MariaDB 10.3+ - Apache/Nginx dengan mod_rewrite aktif ### 2. Setup Database ```sql mysql -u root -p < sql/schema.sql ``` Atau import via phpMyAdmin. ### 3. Konfigurasi Edit `config/database.php`: ```php define('DB_HOST', 'localhost'); define('DB_NAME', 'webgis_kemiskinan'); define('DB_USER', 'root'); define('DB_PASS', 'password_anda'); ``` ### 4. Web Server Letakkan folder di `htdocs/` (XAMPP) atau `/var/www/html/`. ``` http://localhost/webgis-kemiskinan/ ``` ### 5. Akun Demo | Username | Password | Role | |----------------|----------|------------| | admin | admin123 | Admin | | pengurus_jami | admin123 | Pengurus RI| | pimpinan | admin123 | Pimpinan | | warga1 | admin123 | Masyarakat | --- ## 📡 API Endpoints | Method | Endpoint | Keterangan | |--------|------------------------------|-------------------------------| | POST | /api/auth | Login | | DELETE | /api/auth/logout | Logout | | GET | /api/auth/me | Info user saat ini | | GET | /api/penduduk | List penduduk | | POST | /api/penduduk | Tambah penduduk | | PUT | /api/penduduk/:nik | Update penduduk | | DELETE | /api/penduduk/:nik | Hapus penduduk | | GET | /api/keluarga | List keluarga | | POST | /api/keluarga | Tambah KK | | GET | /api/bantuan | Jenis bantuan | | POST | /api/histori | Catat penyaluran | | GET | /api/histori/:nik/cek | Cek riwayat penerima | | POST | /api/laporan | Kirim laporan (publik) | | PUT | /api/laporan/:id | Update status laporan | | GET | /api/rumah-ibadah | List rumah ibadah | | GET | /api/dashboard | Statistik dashboard | | GET | /api/peta?layer=penduduk | GeoJSON peta penduduk | | GET | /api/peta?layer=rumah_ibadah | GeoJSON rumah ibadah | | GET | /api/peta?layer=laporan | GeoJSON laporan | | GET | /api/prioritas | Daftar prioritas bantuan | | POST | /api/chat | Kirim pesan | | POST | /api/peristiwa | Catat peristiwa kependudukan | | GET | /api/log | Log aktivitas | --- ## 🗄️ Struktur Database (ERD Ringkas) ``` role ──────────────────── user │ rumah_ibadah ┘ │ keluarga ─────── penduduk ──── histori_bantuan ─── bantuan │ laporan (opsional nik_terdampak) riwayat_pendidikan peristiwa_kependudukan log_aktivitas ``` --- ## 🎯 Fitur Sistem | # | Fitur | Status | |---|-------|--------| | 1 | CRUD Penduduk + validasi NIK 16 digit | ✅ | | 2 | Umur otomatis dari tanggal lahir | ✅ | | 3 | Validasi logika umur vs pendidikan | ✅ | | 4 | Relasi Keluarga (KK → Anggota) | ✅ | | 5 | Sistem peristiwa kependudukan | ✅ | | 6 | Laporan masyarakat + status tracking | ✅ | | 7 | Histori bantuan per NIK | ✅ | | 8 | Cek penerima bantuan sebelumnya | ✅ | | 9 | Multi-role (Admin/Pengurus/Pimpinan/Masyarakat) | ✅ | | 10| WebGIS Leaflet + cluster + radius RI | ✅ | | 11| Layer filter (miskin/rentan/mampu) | ✅ | | 12| Prioritas bantuan otomatis (miskin+sakit) | ✅ | | 13| Dashboard statistik real-time | ✅ | | 14| Chat koordinasi antar pengurus | ✅ | | 15| Log aktivitas sistem | ✅ | | 16| Export CSV prioritas | ✅ | | 17| Deteksi warga belum pernah dibantu | ✅ | | 18| GeoJSON API untuk Leaflet | ✅ | --- ## 🔒 Hak Akses per Role | Fitur | Admin | Pengurus | Pimpinan | Masyarakat | |-----------------------|-------|----------|----------|------------| | CRUD Penduduk | ✅ | ✅ | 👁 | ❌ | | CRUD Keluarga | ✅ | ✅ | 👁 | ❌ | | Salurkan Bantuan | ✅ | ✅ | ❌ | ❌ | | Verifikasi Laporan | ✅ | ✅ | ❌ | ❌ | | Kirim Laporan | ✅ | ✅ | ✅ | ✅ | | Dashboard | ✅ | ✅ | ✅ | ❌ | | Manajemen User | ✅ | ❌ | ❌ | ❌ | | Chat Koordinasi | ✅ | ✅ | ❌ | ❌ | | Log Aktivitas | ✅ | ❌ | ✅ | ❌ | --- *WebGIS Kemiskinan Pontianak v2.0 — Dikembangkan untuk mendukung intervensi bantuan sosial tepat sasaran berbasis data spasial.*