f855f7e027
- 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>
106 lines
4.6 KiB
Markdown
106 lines
4.6 KiB
Markdown
# 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-02–A-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 |
|