Files
UAS_WEBGIS_IhyaUlumuddinHar…/CHANGELOG_SKPL.md
T
2026-06-13 11:24:58 +07:00

3.5 KiB
Raw Blame History

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 adminoperator (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).