A system for the Government of Uganda Citizen Interaction Center
# GovResolve Uganda
GovResolve Uganda is a citizen service resolution, social listening, and complaint Monitoring and Evaluation prototype for government service delivery. It turns citizen reports and reviewed public civic signals into trackable service cases with assignment, SLA monitoring, escalation, moderation, notifications, dashboards, audit logs, and reports.
This phase intentionally keeps the existing lightweight demo architecture: zero-dependency Node.js, JSON file persistence, and a plain HTML/CSS/JavaScript frontend. It is designed to run easily for a government innovator showcase.
## Run With Docker
```powershell
docker compose up --build
```
Open:
```text
localhost
```
## Run With Node
```powershell
npm.cmd run dev
```
Open:
```text
localhost
```
## Demo Accounts
All demo users use password `Demo@2026`.
```text
citizen@govresolve.ug
intake@govresolve.ug
officer@govresolve.ug
supervisor@govresolve.ug
me@govresolve.ug
social@govresolve.ug
admin@govresolve.ug
```
## Reset Demo Data
The first run creates:
```text
server/data/govresolve-db.json
```
Delete that file and restart the server to regenerate seeded data.
For the smoke test, a separate temporary file is used:
```text
server/data/govresolve-smoke-db.json
```
## Smoke Test
```powershell
npm.cmd run smoke
```
The test starts the server on a test port, verifies reference/public analytics/login, submits a complaint, adds a comment and attachment metadata, performs assignment/status/escalation/resolution/rating, imports/reviews/converts a social signal, checks M&E analytics, exports CSV and printable HTML reports, reads audit logs, runs the SLA scan, and ends with:
```text
GovResolve smoke test passed
```
## What Is Implemented
- Public dashboard with privacy-safe aggregate metrics and a map-like district view.
- Citizen complaint submission with category, subcategory, location details, contact details, privacy, urgency, consent, optional GPS, and evidence …