add files
This commit is contained in:
+189
@@ -0,0 +1,189 @@
|
||||
# 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
|
||||
<?php
|
||||
require 'includes/config.php';
|
||||
$hash = password_hash('password123', PASSWORD_DEFAULT);
|
||||
$conn->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*
|
||||
Reference in New Issue
Block a user