Files
D1041231009-WebGIS-PovertyMap/missing_features.md
T
GuavaPopper f855f7e027 feat: Plan 4 — Dashboard Statistik + Gap Analysis
- Add /dashboard route (all authenticated roles)
- Add dashboard view with Chart.js 4.4:
  - 4 stat cards (ibadah, miskin, jiwa, % terjangkau)
  - Donut chart: ibadah per jenis
  - Horizontal bar chart: miskin per kondisi rumah
  - Gap Analysis: Turf.js coverage computation, doughnut chart,
    per-ibadah coverage table sorted by KK count, uncovered family list
  - esc() helper applied to all user-data innerHTML
- Add Dashboard nav link to map, data, and admin views
- 5 new tests: unauthenticated redirect + all 4 roles can access
- Mark K-02 and K-03 complete in missing_features.md
- Update README with new page and feature section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 14:19:37 +07:00

106 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Fitur & Role yang Belum Ada di Project WebGIS
> Berdasarkan perbandingan dokumen SKPL (`D1041231009_RadityaIndraPutranto_SKPL_SIG.docx`) dengan implementasi aktual project.
>
> **Terakhir diperbarui:** 2026-06-03 — setelah implementasi Dashboard Statistik + Gap Analysis (Plan 4).
---
## 🔐 1. Sistem Autentikasi & Role
### 1.1 Komponen:
- [x] **Model User**`App\Models\User` dengan `HasRoles` (Spatie)
- [x] **Migration `users`** — Tabel users + password_reset_tokens
- [x] **Halaman Login**`resources/views/auth/login.blade.php`
- [x] **AuthController** — Login/logout dengan session regeneration
- [x] **Middleware Auth** — Semua route dilindungi, API di-enforce di backend
- [x] **Role-Based Access Control (RBAC)** — Spatie Laravel Permission v8, 4 role aktif
### 1.2 Empat role:
| # | Role | Kode SKPL | Status |
|---|---|---|---|
| 1 | **Administrator Sistem** | A-01 s/d A-05 | ⚠️ A-01 selesai, A-02A-05 belum (lihat bagian 2) |
| 2 | **Pengurus Rumah Ibadah** | I-01 s/d I-06 | ⚠️ Bisa CRUD ibadah, tapi belum ada ownership |
| 3 | **Petugas Pendataan (Operator)** | P-01 s/d P-05 | ⚠️ Bisa CRUD miskin, belum ada form edit & verifikasi |
| 4 | **Pemangku Kebijakan** | K-01 s/d K-04 | ⚠️ View-only sudah, dashboard & ekspor lanjutan belum |
### 1.3 Gap ownership yang ditemukan saat implementasi:
- [x] **Ownership Rumah Ibadah**`pengurus_ibadah` seharusnya hanya bisa edit/hapus data ibadah miliknya sendiri. Saat ini bisa edit/hapus **semua** ibadah. Butuh kolom `user_id` di tabel `rumah_ibadah` + policy/gate untuk enforce ownership.
---
## 🛠️ 2. Fitur Administrator (A-01 s/d A-05)
| Kode | Fitur | Status |
|---|---|---|
| A-01 | **Manajemen Pengguna** — CRUD user, assign role, reset password | ✅ Selesai |
| A-02 | **Bulk Delete** — Hapus data massal | ❌ Belum ada |
| A-02 | **Import CSV** — Import data dari file CSV | ❌ Belum ada |
| A-03 | **Konfigurasi Sistem** — Batas wilayah, radius min/max, legenda peta | ❌ Belum ada |
| A-04 | **Log Aktivitas** — Mencatat dan menampilkan log aktivitas pengguna | ❌ Belum ada |
| A-04 | **Statistik Penggunaan** — Ringkasan penggunaan sistem | ❌ Belum ada |
| A-04 | **Notifikasi Perubahan Data** — Notif jika data ditambah/diubah | ❌ Belum ada |
| A-05 | **Backup & Restore** — Backup database manual, jadwal backup otomatis | ❌ Belum ada |
---
## ✏️ 3. Fitur Edit Data (Multiple Roles)
Data bisa ditambah dan dihapus. Untuk lokasi: drag marker (ibadah & miskin) dan ubah radius (ibadah saja) sudah bisa. Namun **belum ada form edit** untuk field lainnya.
| Fitur | Role terkait | Status |
|---|---|---|
| **Form Edit Rumah Ibadah** — Edit nama, jenis, pengurus, telepon, jemaah, keterangan | I-06, A-02 | ✅ Selesai |
| **Form Edit Keluarga Miskin** — Edit nama KK, jumlah jiwa, pekerjaan, pendapatan, kondisi | P-02, A-02 | ✅ Selesai |
---
## 📊 4. Fitur Analisis & Dashboard (Pemangku Kebijakan)
| Kode | Fitur | Status |
|---|---|---|
| K-02 | **Dashboard Statistik Lengkap** — Perbandingan antar wilayah, tren waktu | ✅ Selesai |
| K-03 | **Analisis Kesenjangan (Gap Analysis)** — Identifikasi wilayah miskin yang kurang terjangkau rumah ibadah | ✅ Selesai |
| K-04 | **Ekspor Laporan Terfilter** — Ekspor khusus per radius/wilayah untuk laporan resmi | ❌ Belum ada (hanya CSV semua data) |
---
## 🖨️ 5. Fitur Cetak & Ekspor Lanjutan
| Fitur | Role terkait | Status |
|---|---|---|
| **Cetak Laporan Wilayah** — Print daftar keluarga miskin dalam radius rumah ibadah | I-04 | ❌ Belum ada |
| **Ekspor PDF** — Format laporan resmi | K-04 | ❌ Belum ada |
| **Ekspor per Radius** — Data yang terfilter per analisis radius | I-04, K-04 | ❌ Belum ada |
---
## 📋 Ringkasan
| Kategori | Selesai | Belum |
|---|---|---|
| Autentikasi & RBAC | ✅ 6/6 komponen | — |
| Role Pengguna | ✅ 4/4 role | — |
| Ownership pengurus_ibadah | ✅ 1/1 | — |
| Fitur Admin | ✅ 1/8 | ❌ 7 fitur |
| Fitur Edit Data | ✅ 2/2 | — |
| Fitur Analisis/Dashboard | ✅ 2/3 | ❌ 1 fitur (K-04 ekspor) |
| Fitur Cetak/Ekspor | — | ❌ 3 fitur |
| **Total sisa** | | **~11 item** |
---
## 🗺️ Urutan Plan yang Disarankan
| Plan | Isi | Prioritas |
|---|---|---|
| ~~Plan 1~~ | ~~Auth & RBAC~~ | ✅ Selesai |
| ~~Plan 2~~ | ~~Form Edit Rumah Ibadah & Keluarga Miskin + Ownership~~ | ✅ Selesai |
| ~~Plan 3~~ | ~~Manajemen Pengguna (Admin: CRUD user, assign role)~~ | ✅ Selesai |
| ~~Plan 4~~ | ~~Dashboard Statistik + Gap Analysis (Pemangku Kebijakan)~~ | ✅ Selesai |
| Plan 5 | Ekspor PDF + Ekspor per Radius + Cetak Laporan | Sedang |
| Plan 6 | Fitur Admin lanjutan (Bulk delete, CSV import, Log, Backup) | Rendah |