Redress
Community complaint filing and barangay case management — citizens, lupon members, and admins share one auditable complaint graph.
Problem
Barangay dispute resolution spans citizens, Lupon Tagapamayapa members, and admins — each with different permissions. complain-ant (portfolio name: Redress) models complaints as the center of a relational graph: barangays, documents, history, and participants all link back to a single case record.
Data model
The README documents table roles explicitly. Complaints carry complaint_status values (PENDING, IN_PROCESS, RESOLVED, DISMISSED) with history rows for every lupon action. Admin views use drag-and-drop boards for case triage.
What it covers
- Citizen complaint filing with evidence attachments
- Lupon member status updates with audit history
- Role matrix across citizens, lupon, and admins
- Dashboard views for SLA and case volume
export type ComplaintStatus =
| 'PENDING'
| 'IN_PROCESS'
| 'RESOLVED'
| 'DISMISSED';
export type ComplaintRow = {
id: string;
case_title: string;
description: string;
status: ComplaintStatus;
barangay_id: string | null;
};