The problem
Citizens report potholes, water leaks and garbage piles, but municipal complaints typically disappear into phone registers — no tracking ID, no status visibility, no accountability for how long resolution takes. The engineering gap is a transparent redressal pipeline: every complaint gets an identity, a department owner, an SLA deadline, and a public status trail, while the administration gets analytics on where complaints concentrate and which wards breach SLAs. This project builds that portal — a citizen side with category-based filing, photo evidence and tracking-ID lookup showing a department-annotated timeline, and an admin side with KPI cards, category volumes, resolution rates and ward-wise SLA performance. The SLA engine with auto-escalation is what turns a complaint form into a redressal system.
Reports issues with photo evidence.
Follow the working sequence
How it works
- A citizen selects a complaint category, ward and location, describes the issue, attaches a photo and submits.
- The system registers the complaint, generates a tracking ID and sends it by SMS (stubbed in demo).
- The ward office acknowledges within 24 hours; the complaint routes to the responsible department with a category SLA (e.g. potholes 7 days, garbage 2 days).
- The assigned crew updates status as work progresses; after-photos are attached on completion.
- The citizen tracks everything on the timeline and confirms resolution, closing the loop.
- Breached SLAs auto-escalate to the zonal officer; the dashboard aggregates volumes, resolution rates and ward performance.
Tech stack:
- React (frontend SPA)
- Node.js + Express (REST API)
- PostgreSQL (relational schema)
- JWT authentication, role-based access
- File-upload handling for photo evidence
- Background job for SLA escalation checks
| Parameter | Value |
|---|---|
| Architecture | Full-stack web app (SPA + REST API + RDBMS) |
| User roles | 3 (citizen, ward officer, commissioner) |
| Complaint categories | 6 (roads, water, streetlights, waste, drainage, parks) |
| SLA deadlines | Per-category, 2–7 days (documented) |
| Seed data | 4,812 complaints across 5 wards (expected) |
| Photo evidence | JPG/PNG up to 5 MB |
| Demo | Interactive multi-view web demo |
Project features
- [Citizen complaint filing] Category-based form with ward selection, location, description, photo evidence and contact details.
- [Tracking IDs] Every complaint gets an SMS-style tracking ID (e.g. NGR-2026-4812) for status lookup.
- [Status timeline] Department-annotated progress trail: filed → acknowledged → assigned → in progress → resolved, with timestamps and officer names.
- [Department routing] Complaints route to the responsible department crew with category-specific SLA deadlines.
- [SLA auto-escalation] Breached deadlines escalate automatically to the zonal officer — documented in the workflow.
- [Commissioner dashboard] KPI cards, complaints-by-category volumes, resolution rates and ward-wise SLA performance.
- [Photo evidence] Before/after photo attachments help field crews locate issues and prove resolution.
What is included
- Complete frontend + backend source code
- Database schema with migrations and seed data
- REST API documentation
- SLA engine and escalation workflow implementation
- Commissioner analytics dashboard
- Project report PDF (background, system design, SLA workflows, civic-tech analysis)
- PPT presentation for final review
- Viva Q&A preparation document (full-stack architecture, state machines, background jobs, analytics)
Limitations & prerequisites
- SMS gateway is stubbed in the demo; production needs a registered sender ID and DLT compliance.
- GIS ward-boundary mapping is simplified; precise geo-fencing is future scope.
- Single-city deployment — multi-municipality support is future scope.
- Escalation notifications to officers are documented but stubbed in the demo build.
- Seed complaint data is illustrative; production integrates with the municipality's records.
Frequently Asked Questions
What makes this a redressal system and not just a complaint form?
The SLA engine: every complaint gets a category-specific deadline, status is tracked stage by stage with department annotations, breaches auto-escalate to the zonal officer, and the dashboard holds wards accountable with SLA percentages.
How does the tracking timeline work?
Each status change (filed, acknowledged, assigned, in progress, resolved) is recorded with a timestamp, the acting officer/department and notes — the citizen sees the same trail the administration sees.
What are the SLA deadlines?
Category-specific and documented: garbage 2 days, water leaks 3 days, streetlights 5 days, potholes 7 days. The report explains how they were chosen and how escalation works on breach.
What does the commissioner dashboard show?
Total complaints, resolution rate, average resolution time, SLA compliance, complaints by category, resolution rate by category, and ward-wise performance tables — the oversight view a municipal commissioner needs.
How are duplicate complaints handled?
Same-location, same-category open complaints are flagged as possible duplicates at filing time in the documented design; full deduplication logic is listed as future scope.
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and Web Development programs. It demonstrates full-stack development, workflow/SLA engine design and analytics for a real civic problem. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.
Components & software requirements
- React (frontend SPA)
- Node.js + Express (REST API)
- PostgreSQL (relational schema)
- JWT authentication, role-based access
- File-upload handling for photo evidence
- Background job for SLA escalation checks
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.