How bobords12/smart-complaint01 works
This is a Next.js/Supabase barangay complaint and blotter system with resident, public-kiosk, and staff workflows, plus complaint classification and document generation. The graph emphasizes kiosk filing and its server path, while preserving the major complaint-management, hearing, PNP referral, and reporting capabilities visible in the app tree and README. Edges are limited to relationships shown in excerpts, SOURCE INDEX references, or README statements; many page-to-data connections are not shown in the supplied evidence.
Main entry points: admin.ts Supabase · KioskClient.jsx Kiosk Wizard · serverApi.js Kiosk Server · route.js Kiosk Routes
Components 21
Public Filing
- Kiosk Wizard
app/kiosk/KioskClient.jsx - Kiosk Steps
components/kiosk/KioskWelcome.jsx - Kiosk API
lib/kiosk/api.js - Offline Sync
lib/kiosk/offlineStore.js - Kiosk Routes
app/api/kiosk/submit/route.js - Kiosk Server
lib/kiosk/serverApi.js - Reklamo Documents
app/api/reklamo/generate/route.js
Case Management
- Resident Portal
components/resident/NewComplaintForm.jsx - Captain Casework
components/captain/complaints/RoutingTab.jsx - Routing Rules
lib/captainComplaintRouting.js - Lupon Hearings
components/lupon/LuponSchedule.jsx - PNP Referrals
repositories/pnpReferralRepository.ts - Staff Reporting
components/official/OfficialReports.jsx
Shared Services
- Authentication
services/authService.ts - Supabase
lib/supabase/admin.ts - Kiosk SMS
lib/sms/kioskSms.js
Classification
- Classification API
app/api/classify/route.js - Prediction Adapter
lib/mlPrediction.js - JS Classifier
lib/classifier/index.js - Python Classifier
ml-backend/app/main.py
Other components
- Citizen
Connections 19
- Citizen → Kiosk Wizard: files through
- Kiosk Wizard → Kiosk Steps: renders
app/kiosk/KioskClient.jsx - Kiosk Wizard → Kiosk API: submits via
app/kiosk/KioskClient.jsx - Kiosk Wizard → Offline Sync: queues offline
app/kiosk/KioskClient.jsx - Kiosk Wizard → Offline Sync: requests sync
app/kiosk/KioskClient.jsx - Kiosk Routes → Kiosk Server: dispatches to
app/api/kiosk/submit/route.js - Kiosk Routes → Kiosk SMS: uses
app/api/kiosk/submit/route.js - Kiosk Routes → Supabase: accesses through
- Kiosk Server → Supabase: uses admin client
lib/kiosk/serverApi.js - Kiosk Server → Prediction Adapter: requests prediction
lib/kiosk/serverApi.js - Kiosk Server → JS Classifier: imports
lib/kiosk/serverApi.js - Classification API → Prediction Adapter: predicts with
app/api/classify/route.js - Classification API → Supabase: authenticates with
app/api/classify/route.js - Prediction Adapter → Supabase: uses admin client
lib/mlPrediction.js - JS Classifier → Python Classifier: also available as
- Authentication → Supabase: uses client
services/authService.ts - Captain Casework → Routing Rules: evaluates routing
components/captain/complaints/RoutingTab.jsx - Reklamo Documents → Supabase: verifies ownership
app/api/reklamo/generate/route.js - Reklamo Documents → Kiosk Server: uses request helpers
app/api/reklamo/generate/route.js