Files
uas-poverty-mapping/README.md
T
2026-06-05 15:09:45 +07:00

78 lines
2.1 KiB
Markdown

# SIPKEM — Sistem Peta Kemiskinan Pontianak
Aplikasi pemetaan rumah ibadah & rumah miskin berbasis React + Leaflet + PHP/MySQL.
---
## Fitur
### Akses Berbasis Peran
| Fitur | Pengguna | Pengurus |
|---|---|---|
| Lihat peta & marker | ✅ | ✅ |
| Lihat detail popup | ✅ | ✅ |
| Lihat riwayat bantuan | ✅ | ✅ |
| Tambah / edit / hapus data | ❌ | ✅ |
| Seret marker (drag) | ❌ | ✅ |
| Atur jangkauan radius | ❌ | ✅ |
| Konfirmasi bantuan ke rumah | ❌ | ✅ |
| Kelola jenis bantuan | ❌ | ✅ |
### Bantuan
- **Jenis Bantuan** — Pengurus dapat menambah/menghapus jenis bantuan (Sembako, Kesehatan, Pendidikan, Sandang, Finansial, Lainnya)
- **Konfirmasi Bantuan** — Pengurus dapat mencatat bantuan yang diterima oleh suatu rumah miskin
- **Riwayat Bantuan** — Semua pengguna dapat melihat histori bantuan per rumah miskin dari popup peta
---
## Setup
### 1. Database
Pastikan XAMPP aktif, database `sipkem` sudah ada beserta tabel `rumah_ibadah`, `rumah_miskin`, `riwayat_binaan`, dan `users`.
Jalankan migrasi baru:
```sql
-- Di phpMyAdmin, pilih database sipkem lalu jalankan:
SOURCE migration_bantuan.sql;
```
Atau salin isi `migration_bantuan.sql` ke query editor phpMyAdmin.
### 2. File PHP
Letakkan `api.php` di folder yang sama dengan `dist/` setelah build.
### 3. React Dev
```bash
npm install
npm run dev
```
### 4. Build Produksi
```bash
npm run build
# Salin dist/ + api.php ke htdocs/sipkem/
```
---
## Struktur Tabel Baru
### `jenis_bantuan`
| Kolom | Tipe | Keterangan |
|---|---|---|
| id | CHAR(36) PK | UUID |
| nama | VARCHAR(120) | Nama bantuan |
| kategori | ENUM | Sembako / Kesehatan / Pendidikan / Sandang / Finansial / Lainnya |
| deskripsi | TEXT NULL | Penjelasan opsional |
| dibuat_pada | TIMESTAMP | Otomatis |
### `riwayat_bantuan`
| Kolom | Tipe | Keterangan |
|---|---|---|
| id | CHAR(36) PK | UUID |
| rm_id | CHAR(36) FK | → rumah_miskin.id |
| bantuan_id | CHAR(36) FK | → jenis_bantuan.id |
| tanggal | DATE | Tanggal pemberian |
| catatan | TEXT NULL | Catatan opsional |
| user_id | CHAR(36) NULL | Pengurus yang mengkonfirmasi |
| dibuat_pada | TIMESTAMP | Otomatis |