mengubah sistem menjadi lebih terfokus ke poverty

This commit is contained in:
Abimanyu Ridho
2026-06-11 01:50:37 +07:00
parent 739e360018
commit 468541b1c8
46 changed files with 5753 additions and 2805 deletions
+36 -30
View File
@@ -1,39 +1,45 @@
# WebGIS Poverty
# WebGIS Poverty Mapping System
Proyek WebGIS sederhana untuk visualisasi data kemiskinan dan fasilitas umum di wilayah tertentu.
Sistem Informasi Geografis berbasis web untuk visualisasi data kemiskinan dan penyaluran bantuan sosial.
## 🚀 Fitur Utama
* **Analisis Proximity**: Perhitungan jangkauan radius/buffer antara lokasi penduduk miskin dan rumah ibadah terdekat.
* **Log Bantuan**: Pencatatan riwayat penyaluran bantuan sosial.
* **Pemetaan Spasial**: Visualisasi dan input data titik (SPBU/Rumah Ibadah), garis (Jalan), dan area (Parsil tanah).
* **Kalkulasi Spasial**: Perhitungan otomatis panjang jalan dan luas area parsil tanah secara real-time menggunakan **Turf.js**.
* **Arsitektur Berbasis Peran (RBAC)**: Login terpisah antara Admin (akses penuh) dan Rumah Ibadah (hanya akses data penduduk dalam radiusnya).
* **Dashboard Statistik**: Ringkasan data (KPI), grafik analisis kedekatan penduduk, grafik jenis penyaluran bantuan, dan log terbaru penyaluran bantuan.
* **Peta Interaktif (WebGIS)**:
* Visualisasi radius layanan rumah ibadah (buffer).
* Pemetaan rumah ibadah dan penduduk miskin.
* Pencarian spasial (search).
* **Manajemen Bantuan (Penyaluran)**: Setiap akun rumah ibadah dapat mencatat secara real-time bantuan yang diberikan kepada penduduk miskin.
* **Manajemen Akun Rumah Ibadah**: Fitur lengkap bagi Admin untuk membuat dan mereset password akun petugas rumah ibadah.
## 🛠️ Teknologi yang Digunakan
* **Backend**: PHP Native (REST API) & MySQL.
* **Frontend**: Vanilla HTML/CSS/JS, Leaflet.js (peta interaktif), Leaflet Draw (alat menggambar di peta), dan Turf.js (kalkulasi spasial).
* **Backend**: PHP Native (Multi-page views & REST API terstruktur) & MySQL.
* **Frontend**:
* Vanilla HTML/CSS/JS (Arsitektur komponen modular dan routing `index.php`).
* Leaflet.js (Pemetaan Interaktif).
* Chart.js (Visualisasi Grafik Dashboard).
## 📋 Persyaratan
* PHP + Apache (mis. XAMPP atau Laragon)
* MySQL/MariaDB
## 📋 Persyaratan Sistem
* PHP (versi 7.4 atau lebih baru direkomendasikan)
* Apache Web Server (XAMPP / Laragon)
* MySQL / MariaDB
## ⚙️ Cara Setup
1. Tempatkan folder proyek di dalam direktori `htdocs` server lokal.
2. Mulai modul Apache dan MySQL (di XAMPP Control Panel).
3. Buat database bernama `webgis_poverty` dan import file `database.sql` ke dalamnya.
4. Salin file `api/config/database.local.php.example` menjadi `api/config/database.local.php` lalu sesuaikan konfigurasi database.
5. Buka webgis melalui browser (misal: `http://localhost/webgis_poverty_fixed/` atau langsung melalui `index.html`).
## ⚙️ Cara Setup (Instalasi Lokal)
1. Tempatkan folder proyek `webgis_poverty` di dalam direktori `htdocs` (XAMPP) atau direktori publik server lokal Anda.
2. Mulai modul **Apache** dan **MySQL** (di XAMPP Control Panel).
3. Buat database baru bernama `webgis_poverty` di phpMyAdmin, kemudian import struktur database menggunakan file SQL yang disediakan (`database.sql`).
4. Salin atau buat file konfigurasi database di `api/config/database.php` (Gunakan `database.php.example` sebagai referensi jika ada) lalu sesuaikan username dan password database.
5. Akses sistem melalui browser: `http://localhost/webgis/webgis_poverty/`
## 📁 Struktur File Penting
## 🔐 Akun Akses Default
Jika setup awal berhasil, Anda dapat login menggunakan akun berikut:
* **Admin**: username `admin` / password `admin123`
* **Akun Rumah Ibadah**: Didaftarkan dan dibuat langsung oleh Admin melalui halaman Manajemen Akun RI.
### Backend (REST API)
* `api/config/database.local.php` — Konfigurasi koneksi database lokal.
* `api/penduduk_miskin.php` — API data penduduk miskin (termasuk aksi hitung ulang kedekatan).
* `api/rumah_ibadah.php` — API data rumah ibadah.
* `api/log_bantuan.php` — API log bantuan sosial.
* `api/data_jalan.php`, `api/data_parsil.php`, `api/spbu.php` — API data spasial lainnya.
### Frontend
* `index.html` — Halaman dashboard utama.
* `css/app.css` — File styling antarmuka.
* `js/app-core.js` — Inisialisasi peta Leaflet dan fungsi umum.
* `js/feature-*.js` — File logika interaktif per modul fitur.
## 📁 Struktur Proyek Utama
* `index.php` — Router utama yang mengatur layout dan halaman aplikasi.
* `pages/` — Kumpulan file View PHP (Dashboard, Peta, Daftar PM, Manajemen Akun).
* `components/` — File PHP re-usable (Sidebar, Head, Global Scripts).
* `api/` — Endpoint REST API (Login, Fetch Data, CRUD, dll).
* `js/pages/` dan `js/features/` — Modular JavaScript untuk fungsionalitas tiap halaman dan fitur (Peta, Log Bantuan, dll).
* `css/` — Stylesheet yang dipecah per-halaman dan komponen untuk performa lebih baik.