GuavaPopper
4907ff7ef8
chore: remove --prefer-dist from composer install to allow fallback to git source
2026-06-11 00:18:09 +07:00
GuavaPopper
4e19f27522
Bismillah
2026-06-10 23:13:30 +07:00
GuavaPopper
1b3031a1ab
feat: add entrypoint script to handle environment configuration, database readiness, and service startup
2026-06-10 22:34:56 +07:00
GuavaPopper
70d6efdec6
chore: optimize Dockerfile build stages by deferring composer scripts and autoload dumping to final stage
2026-06-10 21:09:21 +07:00
GuavaPopper
2f8b14ed2a
fix: make Coolify image self-contained
2026-06-10 20:38:59 +07:00
GuavaPopper
69b03fb467
chore: prepare repository for new remote
2026-06-10 19:00:07 +07:00
GuavaPopper
056520d48f
chore: remove hardcoded ports for Coolify
2026-06-10 18:56:19 +07:00
GuavaPopper
18c0e1d489
.
2026-06-10 18:43:14 +07:00
GuavaPopper
db5b20c572
.
2026-06-10 18:32:09 +07:00
GuavaPopper
024873cfb7
.
2026-06-10 18:27:04 +07:00
GuavaPopper
f4b9501d50
chore: remove docs and tests from deploy package
2026-06-10 18:18:37 +07:00
GuavaPopper
d85d066f6c
feat: refresh UI and add sidebar navigation
2026-06-10 18:16:46 +07:00
GuavaPopper
c4157cec8d
feat: add dashboard transfer and assistance summaries
2026-06-10 18:13:40 +07:00
GuavaPopper
91fc2fbd16
fix: support sqlite database backups
2026-06-10 18:11:09 +07:00
GuavaPopper
cdba16e9e5
chore: add Docker deployment setup
2026-06-10 18:08:57 +07:00
GuavaPopper and Claude Sonnet 4.6
66cfbbd523
feat: add permohonan transfer page with approve/reject workflow and nav links
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 05:01:40 +07:00
GuavaPopper and Claude Sonnet 4.6
64f3427d4e
fix: prevent IDOR in transfer store — verify pengurus owns dari_ibadah
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:59:01 +07:00
GuavaPopper and Claude Sonnet 4.6
652bcb102d
feat: add anggota and bantuan buttons to miskin popup on map
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:58:39 +07:00
GuavaPopper and Claude Sonnet 4.6
deefa7a126
feat: add anggota keluarga and riwayat bantuan modals to data page
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:57:01 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
e907100175
feat: add AnggotaKeluarga, RiwayatBantuan, PermohonanTransfer models and migrations
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:52:23 +07:00
GuavaPopper and Claude Sonnet 4.6
9bd5506f4f
docs: add professor's feature suggestions to missing_features.md
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:41:13 +07:00
GuavaPopper and Claude Sonnet 4.6
69ca5ab8dc
docs: rewrite README quick-start — add demo accounts, auto-steps table, common commands
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:28:51 +07:00
GuavaPopper and Claude Sonnet 4.6
4929eda91d
docs: mark A-03 complete — all SKPL features now implemented
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 04:27:10 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
6fa793aec3
docs: mark Plan 7 complete — stats, scheduled backup, notifications, restore
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:56:59 +07:00
GuavaPopper and Claude Sonnet 4.6
a0e2fda83e
test: add tests for stats, notifications, backup list/command, restore
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:55:44 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
5ad1ba36b8
docs: mark Plan 6 complete — admin advanced features, update README
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:30:29 +07:00
GuavaPopper and Claude Sonnet 4.6
e457bbb09c
test: add tests for bulk delete, CSV import, activity log, backup
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 14:29:17 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
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
cb3933541d
feat: log create/update/delete/login activity across controllers
2026-06-03 20:56:50 +07:00
GuavaPopper
7fb649f690
feat: add ActivityLog model and migration with record() helper
2026-06-03 20:55:30 +07:00
GuavaPopper and Claude Opus 4.8
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
4649a983ef
feat: install barryvdh/laravel-dompdf for PDF generation
2026-06-03 14:44:19 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
c1c1fae93c
fix: escape user-controlled fields in admin/users innerHTML to prevent stored XSS
...
u.name and u.email are stored user input and were interpolated raw into
tbody.innerHTML. Added esc() helper and applied to name, email, and role
display string.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 13:53:01 +07:00
GuavaPopper and Claude Sonnet 4.6
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 and Claude Sonnet 4.6
2e2b42f96b
feat: Plan 2 — Form Edit Rumah Ibadah & Keluarga Miskin + Ownership
...
- Add user_id FK (nullable) to rumah_ibadah for ownership tracking
- IbadahController: set user_id on store; enforce ownership on update/destroy
- Add edit modals to map and data views (ibadah + miskin)
- Popup and table row Edit buttons with per-record ownership check
- 7 new tests covering ownership and full-field updates
- Fix ExampleTest for auth-protected routes
- Fix UserFactory missing email_verified_at column
- Mark Plan 2 complete in missing_features.md; update README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 20:29:36 +07:00
GuavaPopper
15294a5d2f
docs: update missing_features.md — mark Auth & RBAC complete, add ownership gap
2026-06-02 20:07:10 +07:00
GuavaPopper
38199d5860
feat: add demo accounts for all 4 roles in seeder
2026-06-02 19:55:25 +07:00
GuavaPopper
3310efe77e
fix: restore Docker env settings and auto-seed on container start
2026-06-02 19:51:21 +07:00
GuavaPopper and Claude Sonnet 4.6
5683cd3b0e
feat: add auth navbar and role-aware UI to all views
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 19:34:17 +07:00
GuavaPopper
f609c1efa7
feat: add custom login view with map background
2026-06-02 19:28:26 +07:00
GuavaPopper and Claude Sonnet 4.6
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
4b43f7617f
feat: register spatie permission middleware aliases
2026-06-02 19:19:53 +07:00
GuavaPopper and Claude Sonnet 4.6
dda123d9aa
feat: add roles seeder with 4 roles and default admin account
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 19:16:57 +07:00
GuavaPopper and Claude Sonnet 4.6
3fd7845bc8
feat: add User model and users migration
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 19:13:33 +07:00
GuavaPopper
f82b36ccc7
feat: install spatie/laravel-permission
2026-06-02 19:06:46 +07:00
GuavaPopper
1ba5e33c26
refactor: remove unused index configuration files and associated logic
2026-05-02 14:58:49 +07:00
GuavaPopper
d84874e60b
docs: add philosophy and background section to project README
2026-05-02 14:08:43 +07:00
GuavaPopper
ee4a890732
docs: migrate project documentation into README and remove redundant file
2026-05-02 14:06:06 +07:00
GuavaPopper
6f108afdba
Migrasi ke Laravel dan penambahan dokumentasi
2026-05-02 14:03:04 +07:00
GuavaPopper
7759b83638
Implement reverse geocoding for Rumah Miskin
2026-04-28 10:08:31 +07:00