3.5 KiB
3.5 KiB
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 menjadipimpinan/(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.sqldatabase/migrations/002_wilayah.sqldatabase/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()diconfig/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(requireOperatorForMutationdiapi/helpers.php)
8. Perbaikan Bug
- Fungsi MySQL
ST_SRID()(sintaks PostGIS) yang menyebabkan error diperbaiki di 5 file - Pemuatan
.envotomatis + perbaikan path cookie sesi - Bug
window.APP_BASE(bindingconstbukan properti window) diskpl-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).