# WebGIS Pontianak v2.0 ## Sistem Informasi Geografis Penduduk Miskin Kota Pontianak --- ## πŸ“ Struktur Proyek ``` webgis-v2/ β”œβ”€β”€ index.php # Entry point (auto-redirect by role) β”œβ”€β”€ login.php # Halaman login (semua role) β”œβ”€β”€ daftar.php # Registrasi akun masyarakat β”‚ β”œβ”€β”€ dashboard/ β”‚ β”œβ”€β”€ masyarakat.php # Dashboard: Masyarakat β”‚ β”œβ”€β”€ pengurus.php # Dashboard: Pengurus Rumah Ibadah β”‚ └── pemerintah.php # Dashboard: Pemerintah (read-only) β”‚ β”œβ”€β”€ api/ β”‚ β”œβ”€β”€ auth.php # Login, logout, register, session β”‚ β”œβ”€β”€ penduduk.php # CRUD data KK & GeoJSON β”‚ β”œβ”€β”€ anggota.php # CRUD anggota keluarga & pendidikan β”‚ β”œβ”€β”€ rumah_ibadah.php # CRUD rumah ibadah & GeoJSON β”‚ β”œβ”€β”€ laporan.php # Laporan masyarakat & verifikasi β”‚ β”œβ”€β”€ bantuan.php # Histori bantuan & statistik β”‚ β”œβ”€β”€ pesan.php # Komunikasi antar rumah ibadah β”‚ └── notifikasi.php # Notifikasi real-time β”‚ β”œβ”€β”€ includes/ β”‚ └── config.php # DB config, helpers, session β”‚ β”œβ”€β”€ assets/ β”‚ β”œβ”€β”€ css/style.css # Global stylesheet β”‚ β”œβ”€β”€ js/app.js # Global JS utilities β”‚ └── uploads/ # Foto & dokumen upload β”‚ └── database_baru.sql # Schema database lengkap ``` --- ## πŸš€ Cara Install ### 1. Import Database ```sql CREATE DATABASE webgis_pontianak CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE webgis_pontianak; -- Import file: database_baru.sql ``` ### 2. Konfigurasi Database Edit `includes/config.php`: ```php define('DB_HOST', 'localhost'); define('DB_USER', 'root'); // sesuaikan define('DB_PASS', ''); // sesuaikan define('DB_NAME', 'webgis_pontianak'); ``` ### 3. Buat Password Default Jalankan script PHP ini sekali untuk update password `password123`: ```php query("UPDATE users SET password_hash='$hash'"); echo "Password updated!"; ?> ``` ### 4. Akses Aplikasi Buka `http://localhost/webgis-v2/` di browser. --- ## πŸ‘€ Akun Default | Username | Password | Role | |----------------|---------------|---------------------| | `admin` | password123 | Admin | | `pengurus_mj` | password123 | Pengurus Masjid Jami| | `pengurus_mm` | password123 | Pengurus Mujahidin | | `pengurus_gk` | password123 | Pengurus Katedral | | `pemda_ptk` | password123 | Pemerintah | | `ahmad_yusuf` | password123 | Masyarakat | --- ## πŸ”‘ Fitur Per Role ### πŸ‘€ Masyarakat - Login / Daftar akun mandiri - Lihat peta sebaran penduduk - **Kirim laporan:** kelahiran, kematian, pindah, dll - Lihat data keluarga & anggota (dengan umur otomatis dari tanggal lahir) - Lihat riwayat pendidikan anggota keluarga - Lihat histori bantuan yang diterima keluarga - Terima notifikasi real-time ### πŸ•Œ Pengurus Rumah Ibadah - Semua fitur di atas, plus: - **Manajemen penduduk binaan:** tambah, edit, hapus KK - **Manajemen anggota keluarga** beserta riwayat pendidikan - **Verifikasi laporan** masyarakat β†’ otomatis update status anggota - **Catat bantuan:** detail lengkap dengan kondisi, foto, nominal - Histori bantuan dengan **rumah ibadah mitra** - **Kirim/terima pesan** antar rumah ibadah - Tambah rumah ibadah baru ke sistem - Notifikasi auto saat laporan masuk ke wilayah binaan ### πŸ›οΈ Pemerintah (Read-only) - Dashboard analytics lengkap dengan Chart.js - KPI: total KK, jiwa, sangat miskin, miskin, bantuan, ibadah - **Grafik:** distribusi per kecamatan, status ekonomi, bantuan per jenis, kontribusi ibadah, status laporan - Peta GIS interaktif dengan filter - Tabel penduduk lengkap + **export CSV** - Transparansi penyaluran bantuan - Monitoring laporan masyarakat --- ## πŸ—ΊοΈ Fitur GIS - **Peta Leaflet** dengan tile OpenStreetMap - Marker per penduduk (warna berbeda per status ekonomi) - Marker per rumah ibadah (ikon sesuai jenis) - **Radius layanan** tiap rumah ibadah (lingkaran) - **Auto-assign:** laporan masyarakat otomatis diteruskan ke rumah ibadah yang radius-nya mencakup lokasi KK - **Haversine:** jarak KK ke rumah ibadah terdekat dihitung otomatis saat input --- ## πŸ“‘ API Endpoints ``` GET api/auth.php?action=stats β†’ Statistik publik (login page) POST api/auth.php β†’ Login POST api/auth.php?action=register β†’ Register masyarakat GET api/auth.php?action=logout β†’ Logout GET api/penduduk.php?action=geojson β†’ GeoJSON semua penduduk GET api/penduduk.php?action=dashboard β†’ Statistik dashboard POST api/penduduk.php β†’ Tambah KK (multipart) PUT api/penduduk.php β†’ Update KK GET api/anggota.php?action=list&id_penduduk=X β†’ List anggota KK POST api/anggota.php β†’ Tambah anggota PUT api/anggota.php β†’ Update/ubah status hidup GET api/rumah_ibadah.php?action=geojson β†’ GeoJSON ibadah GET api/rumah_ibadah.php?action=list β†’ List ibadah (dropdown) POST api/rumah_ibadah.php β†’ Tambah ibadah GET api/laporan.php?action=list β†’ List laporan (filter wilayah auto) POST api/laporan.php?action=kirim β†’ Kirim laporan (masyarakat) PUT api/laporan.php?action=verifikasi β†’ Verifikasi laporan (pengurus) GET api/bantuan.php?action=list β†’ Histori bantuan GET api/bantuan.php?action=statistik β†’ Statistik bantuan POST api/bantuan.php β†’ Catat bantuan baru PUT api/bantuan.php β†’ Update bantuan GET api/pesan.php?action=inbox β†’ Pesan masuk (pengurus) GET api/pesan.php?action=outbox β†’ Pesan terkirim POST api/pesan.php β†’ Kirim pesan antar ibadah PUT api/pesan.php?action=inbox β†’ Balas pesan GET api/notifikasi.php β†’ Semua notifikasi user PUT api/notifikasi.php β†’ Tandai baca ``` --- ## πŸ”§ Kebutuhan Server - PHP 7.4+ dengan ekstensi `mysqli`, `session` - MySQL / MariaDB 5.7+ - Apache/Nginx dengan `mod_rewrite` - PHP `fileinfo` untuk upload gambar --- ## πŸ“¦ Dependensi Eksternal (CDN β€” tidak perlu install) - Leaflet.js 1.9.4 (peta interaktif) - Chart.js 4.4.0 (grafik dashboard pemerintah) - Google Fonts: Sora --- *WebGIS Pontianak v2.0 β€” Sistem Terintegrasi Penanggulangan Kemiskinan*