Commit Graph

15 Commits

Author SHA1 Message Date
GuavaPopper 804618bb54 feat: add controllers and routes for anggota, bantuan, permohonan transfer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 04:55:11 +07:00
GuavaPopper 2bd7b206a6 feat: add system configuration (A-03) — map center, zoom, radius min/max
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 04:25:58 +07:00
GuavaPopper b76284d8b7 feat: add database restore from uploaded SQL file with RESTORE confirmation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:53:36 +07:00
GuavaPopper 3ecf7d937c feat: add data change notifications via 30s polling for all roles
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:52:25 +07:00
GuavaPopper f77fc725a8 feat: add scheduled daily backup, stored backup listing and download
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:51:07 +07:00
GuavaPopper 1535c75138 feat: add usage statistics section to activity log page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:47:39 +07:00
GuavaPopper 27eca4f041 feat: add activity log admin page and nav links
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:28:00 +07:00
GuavaPopper c4eb884495 feat: add database backup download via mysqldump (admin-only)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:26:04 +07:00
GuavaPopper 2d4533683d feat: add CSV import for ibadah and miskin (admin-only, round-trip format) 2026-06-03 21:00:28 +07:00
GuavaPopper 6d157a17c9 feat: add bulk delete for ibadah and miskin with checkboxes (admin-only) 2026-06-03 20:59:08 +07:00
GuavaPopper 1fcad7d9b2 feat: Plan 5 — Ekspor PDF + Ekspor per Radius + Cetak Laporan
- Add ExportController: allMiskinPDF (all data) + radiusMiskinPDF
  (server-side Haversine filtering per ibadah radius)
- Add two table-based PDF Blade views (dompdf-compatible, no flexbox/grid)
- Add export routes (/export/pdf, /export/pdf/radius/{id}/{radius})
  with numeric route constraints
- Add "Ekspor PDF" button to data tabular view
- Add CSV + PDF radius export buttons to map analysis panel;
  exportRadiusCSV() reuses existing isInside(); PDF href synced on
  ibadah click and radius slider change
- 5 new tests: access control, PDF content-type, 404 + param validation
- Mark K-04 and Section 5 (Cetak & Ekspor) complete in missing_features.md
- Update README with export features

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 20:44:10 +07:00
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
GuavaPopper 8476c5d643 feat: Plan 3 — Manajemen Pengguna (Admin User Management)
- Add AdminUserController: CRUD users, assign role, reset password,
  self-delete guard (403 on own account)
- Add admin route group under role:administrator middleware
  (GET/POST/PUT/DELETE /api/admin/users, PUT /api/admin/users/{id}/password)
- Add resources/views/admin/users.blade.php: DaisyUI table + 4 modals
  (create, edit, reset password, delete confirm), stats grid, toast
- Add Admin nav link (administrator-only) to map and data navbars
- 9 new tests covering page access, API CRUD, self-delete guard, password reset
- Mark Plan 3 complete in missing_features.md; update README page list
- Save plan3 to docs/ for reference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 13:51:08 +07:00
GuavaPopper 42e8932482 feat: add AuthController, protect routes, move API to web middleware
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 19:22:46 +07:00
GuavaPopper 6f108afdba Migrasi ke Laravel dan penambahan dokumentasi 2026-05-02 14:03:04 +07:00