How esguerrajustin/marikina-econcern works
Marikina E-Concern is a PHP/MySQL citizen-reporting portal with department-scoped administration and a substantial BasuraAlert waste-services module. The main citizen journey is account registration and verification, concern submission with photo evidence, then status tracking; administrators triage and assign concerns. BasuraAlert separately supports schedules, drop-offs, waste guidance, announcements, reports and reminders/notifications. The README documents the PWA and Android TWA delivery. Source excerpts show shared authentication, database and BasuraAlert wiring; several UI and API relationships are documented only at the product level.
Main entry points: ba_dashboard.php Resident waste services · Notifications.php Notifications and reminders · auth.php Authentication · basuraalert.php BasuraAlert service facade
Components 26
Citizen portal
- Registration and verification
public/register.php - Concern submission and tracking
public/submit_concern.php - Concern endpoints
api/submit_concern.php - Citizen portal pages
public
Administration
- Admin login
admin/login.php - Concern triage
admin/concerns.php - Admin JSON API
admin/api - Admin reports and exports
admin/reports.php
BasuraAlert
- Resident waste services
public/ba_dashboard.php - Collection schedules
includes/BasuraAlert/Schedule.php - Drop-off locations
includes/BasuraAlert/Dropoffs.php - Waste guidance
includes/BasuraAlert/Schedule.php - Waste administration
admin/ba_schedules.php - Waste reports and feedback
includes/BasuraAlert/Reports.php - Announcements
public/ba_announcements.php - Notifications and reminders
includes/BasuraAlert/Notifications.php - Queued delivery worker
ba_dispatch_queued_notifications.php
Shared runtime
- Authentication
includes/auth.php - Admin authorization
includes/admin_auth.php - MySQL access
includes/db.php - BasuraAlert service facade
includes/basuraalert.php - Installable PWA
sw.js - Android TWA clients
Other components
- Resident
- Administrator
- SMS and email providers
Connections 28
- Resident → Registration and verification: creates account
- Resident → Concern submission and tracking: submits and tracks
- Registration and verification → Authentication: authenticates
- Concern submission and tracking → Concern endpoints: submits concern
- Concern endpoints → Authentication: checks identity
api/submit_concern.php - Concern endpoints → MySQL access: persists data
api/submit_concern.php - Resident → Citizen portal pages: uses portal
- Administrator → Admin login: signs in
- Admin login → Admin authorization: checks access
includes/admin_auth.php - Administrator → Concern triage: triages concerns
- Concern triage → Admin JSON API: uses endpoints
- Administrator → Admin reports and exports: exports reports
- Resident → Resident waste services: uses waste services
- Resident waste services → Collection schedules: reads schedules
- Resident waste services → Drop-off locations: views locations
- Resident waste services → Waste guidance: reads guidance
includes/BasuraAlert/Schedule.php - Administrator → Waste administration: manages services
- Waste administration → Waste reports and feedback: reviews feedback
- Resident waste services → Announcements: reads announcements
- Resident waste services → Notifications and reminders: receives notices
public/ba_dashboard.php - Queued delivery worker → Notifications and reminders: processes queue
ba_dispatch_queued_notifications.php - Notifications and reminders → SMS and email providers: sends messages
includes/BasuraAlert/Notifications.php - Authentication → MySQL access: queries users
includes/auth.php - Admin authorization → Authentication: reuses sessions
includes/admin_auth.php - BasuraAlert service facade → Collection schedules: loads service
includes/basuraalert.php - BasuraAlert service facade → Notifications and reminders: loads service
includes/basuraalert.php - BasuraAlert service facade → Waste reports and feedback: loads service
includes/basuraalert.php - Installable PWA → Android TWA clients: packaged as