mengubah sistem menjadi lebih terfokus ke poverty
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user