From ee88df68c812e7e39ba2d45a133fb390dc84291a Mon Sep 17 00:00:00 2001 From: "Mr.Haruna" Date: Sat, 13 Jun 2026 12:42:40 +0700 Subject: [PATCH] bersihkan_file_kedua --- CHANGELOG_SKPL.md | 96 --------------------------------------------- RENCANA_LANJUTAN.md | 93 ------------------------------------------- 2 files changed, 189 deletions(-) delete mode 100644 CHANGELOG_SKPL.md delete mode 100644 RENCANA_LANJUTAN.md diff --git a/CHANGELOG_SKPL.md b/CHANGELOG_SKPL.md deleted file mode 100644 index 210c749..0000000 --- a/CHANGELOG_SKPL.md +++ /dev/null @@ -1,96 +0,0 @@ -# Changelog — Transformasi WebGIS sesuai SKPL - -Dokumen ini merangkum perubahan aplikasi dari **"WebGIS Smart City Pontianak"** menjadi **"WebGIS Pemetaan Kemiskinan Terpadu"** sesuai dokumen SKPL. - -Status saat ini: **Fase A (Fondasi)** dan **Fase B (Visualisasi Peta)** selesai & teruji. - ---- - -## 1. Sistem Role & Autentikasi - -| Sebelum | Sesudah | -|---|---| -| 2 role: `admin`, `user` | 4 role SKPL: `publik`, `enumerator`, `operator`, `pimpinan` | -| Login dasar | + Lockout 5× percobaan gagal (KF-01) | -| — | Cek akun nonaktif (`is_active`) saat login | -| — | Catat `last_login` | -| Routing role hardcode | Routing dinamis per role via `roleHome()` | -| `requireRole('admin')` (exact) | RBAC fleksibel `requireAnyRole([...])` | - -File: `config/auth_check.php`, `login.php`, `logout.php`, `index.php` - -## 2. Struktur Folder & Halaman - -- `user/` → di-rename menjadi `pimpinan/` (dashboard, peta, laporan) -- **Baru:** `enumerator/` — area petugas lapangan (mobile-friendly) -- **Baru:** `peta_publik.php` — peta tanpa login untuk masyarakat -- **Baru:** `admin/log.php` — halaman log aktivitas - -## 3. Database - -| Perubahan | Detail | -|---|---| -| `users` diperluas | + `email`, `is_active`, `wilayah_tugas`, `last_login`; ENUM role jadi 4 | -| Tabel baru `activity_log` | Audit trail aktivitas pengguna (KF-04) | -| Tabel baru `wilayah` | Polygon kelurahan + `jumlah_penduduk` untuk choropleth (KF-06) | - -File migrasi: -- `database/migrations/001_fase_a_roles.sql` -- `database/migrations/002_wilayah.sql` -- `database/webgis_db.sql` (diperbarui untuk install baru) - -## 4. Manajemen User (KF-02 / KF-03) - -`admin/users.php` + `api/users.php` dirombak: -- Kelola 4 role -- Status aktif/nonaktif -- Email & wilayah tugas (enumerator) -- Proteksi akun utama (ID 1) & akun sendiri dari penghapusan - -## 5. Log Aktivitas (KF-04) - -- Helper `logActivity()` di `config/activity.php` -- Dicatat saat: login, logout, dan CRUD data (warga, user) -- Ditampilkan di `admin/log.php` (300 entri terbaru) - -## 6. Visualisasi Peta (Fase B) - -| Fitur SKPL | Implementasi | -|---|---| -| Choropleth (KF-06) | `api/wilayah.php` — gradasi warna % kemiskinan + legenda | -| Heatmap (KF-08) | `api/heatmap.php` — data agregat tanpa info pribadi | -| Layer switcher (KF-09) | Toggle choropleth & heatmap | -| Pencarian lokasi (KF-11) | Cari kelurahan, peta auto-`flyTo` | - -Dipasang di: peta publik, peta operator, peta pimpinan. -File: `assets/js/public-map.js`, `assets/js/skpl-layers.js` - -## 7. Branding & Keamanan API - -- Branding "Smart City" → "WebGIS Kemiskinan / Pemetaan Kemiskinan" -- Guard mutasi API: role `admin` → `operator` (`requireOperatorForMutation` di `api/helpers.php`) - -## 8. Perbaikan Bug - -- Fungsi MySQL `ST_SRID()` (sintaks PostGIS) yang menyebabkan error diperbaiki di 5 file -- Pemuatan `.env` otomatis + perbaikan path cookie sesi -- Bug `window.APP_BASE` (binding `const` bukan properti window) di `skpl-layers.js` — diperbaiki - ---- - -## Akun Testing (DB hasil migrasi) - -| Role | Username | Password | -|---|---|---| -| Operator | `admin` | `admin123` | -| Pimpinan | `pengguna` | `user123` | -| Enumerator | `enumerator` | `user123` | -| Publik | (tanpa login) | — | - ---- - -## Belum Dikerjakan (warisan lama / fase berikutnya) - -- Data spasial smart-city (SPBU, jalan, kavling, rumah ibadah, kawasan kumuh) **masih ada** — rencana di-repurpose/dibuang pada modul Manajemen Data. -- Form input enumerator (`enumerator/input.php`) masih placeholder "Segera". -- Modul Manajemen Data, Analisis Spasial, Geotagging, dan Pelaporan PDF belum dibuat (lihat rencana di bawah / dokumen perencanaan). diff --git a/RENCANA_LANJUTAN.md b/RENCANA_LANJUTAN.md deleted file mode 100644 index f95a738..0000000 --- a/RENCANA_LANJUTAN.md +++ /dev/null @@ -1,93 +0,0 @@ -# Rencana Tahap Lanjutan — WebGIS Pemetaan Kemiskinan SKPL - -Lanjutan setelah Fase A (Fondasi) & Fase B (Visualisasi Peta) selesai. -Prinsip tetap: **fokus penuh ke SKPL** + **perluas bertahap**. - -Modul SKPL yang tersisa: 3.3 Manajemen Data, 3.4 Analisis Spasial, -3.5 Geotagging & Survei, 3.6 Dashboard & Pelaporan. - -Urutan disusun berdasarkan ketergantungan: **C → D → E → F** -(data kaya dulu, baru analisis & laporan). - ---- - -## FASE C — Manajemen Data Kemiskinan (KF-12 s/d 18) - -Fondasi data untuk semua modul berikutnya. Memperkaya `warga_miskin`. - -| ID | Pekerjaan | KF | -|---|---|---| -| C1 | Perluas kolom `warga_miskin`: `nik_kk`, `alamat`, `wilayah_id`, `rt`, `rw`, `jumlah_jiwa`, `pekerjaan_kk`, `sumber_air`, `status_listrik`, `material_dinding`, `status_kepemilikan`, `status_verifikasi` | KF-12 | -| C2 | Tabel `jenis_bantuan` (PKH, BPNT, PBI-JK, BLT) + `bantuan_sosial` (status per RT, tgl mulai/berakhir) | KF-17 | -| C3 | Upload foto kondisi rumah (folder `uploads/`, kompres GD, 1–5 foto) | KF-13 | -| C4 | Form input/edit lengkap di operator + popup detail kaya di peta | KF-12/14 | -| C5 | Import CSV/Excel sesuai template Lampiran A + validasi & laporan error | KF-15 | -| C6 | Export CSV / Excel / PDF (data penuh & hasil filter) | KF-16 | -| C7 | Manajemen status bantuan per rumah tangga | KF-17 | -| C8 | Verifikasi data (status + bulk verification + penanda di peta) | KF-18 | - -**Catatan:** sekaligus repurpose `rumah_ibadah`/`spbu` → tabel `fasilitas_publik` -(sekolah/puskesmas/pasar) untuk proximity, dan pensiunkan layer smart-city lama. - ---- - -## FASE D — Geotagging & Form Enumerator (KF-24, 25, 26) - -Membuat role Enumerator benar-benar fungsional. - -| ID | Pekerjaan | KF | -|---|---|---| -| D1 | `enumerator/input.php` — form multi-langkah mobile + auto-GPS (`navigator.geolocation`) + koreksi manual di peta mini | KF-24/25 | -| D2 | Upload foto langsung dari kamera HP | KF-13 | -| D3 | Penugasan wilayah: enumerator hanya akses/input data di wilayah tugasnya | KF-26 | -| D4 | (Opsional, prioritas rendah) Notifikasi in-app tugas baru | KF-27 | - ---- - -## FASE E — Analisis Spasial (KF-19 s/d 23) - -Butuh data kaya dari Fase C + `fasilitas_publik`. - -| ID | Pekerjaan | KF | -|---|---|---| -| E1 | Filter multi-kriteria (kecamatan, pendidikan, pekerjaan, status bantuan, sumber air, material, kepemilikan) — hasil langsung di peta + jumlah | KF-19 | -| E2 | Identifikasi zona prioritas (skor per kelurahan: % miskin + kepadatan + cakupan bantuan rendah) | KF-20 | -| E3 | Proximity analysis ke fasilitas publik + identifikasi warga "terisolasi" (radius dapat diatur) | KF-21 | -| E4 | Analisis cakupan bantuan (pie chart + choropleth per jenis bantuan) | KF-22 | -| E5 | Analisis tren waktu (line chart jumlah warga & cakupan) | KF-23 | - ---- - -## FASE F — Dashboard & Pelaporan (KF-28 s/d 31) - -| ID | Pekerjaan | KF | -|---|---|---| -| F1 | Dashboard eksekutif: kartu KPI + grafik (Chart.js) + peta ringkasan zona prioritas | KF-28 | -| F2 | Laporan per wilayah (tabel + grafik + peta) — cetak/unduh PDF | KF-29 | -| F3 | Laporan rekapitulasi penerima bantuan per jenis (PDF) | KF-30 | -| F4 | Grafik komparatif antar kecamatan (bar + radar) | KF-31 | - ---- - -## Kebutuhan Non-Fungsional (NFR) - -Sebagian implementasi, sebagian cukup didokumentasikan untuk final project: - -- **Implementasi:** RBAC server-side (sudah), proteksi SQL Injection (PDO prepared — sudah), bcrypt cost 12 (sudah), validasi input, pesan error informatif, responsif mobile. -- **Dokumentasi saja (di luar lingkup realistis final project):** JWT HS256, 100 user konkuren, enkripsi NIK, backup harian otomatis, uptime 99%, integrasi DTKS. - ---- - -## Library Tambahan yang Diperlukan - -- **Chart.js 4.x** — grafik dashboard & laporan (Fase E/F) -- **PhpSpreadsheet** atau parser CSV manual — import/export Excel (Fase C) -- **Dompdf** atau **mPDF** — generate PDF laporan (Fase F) -- (Leaflet & leaflet.heat sudah dipakai) - ---- - -## Rekomendasi Mulai - -**Mulai dari Fase C (Manajemen Data)** karena membuka jalan untuk D, E, dan F -sekaligus memperkaya popup detail peta (KF-10) yang sekarang masih minim.