A localized community platform for viewing and maintaining information about shared water points in one small Ugandan community.
# WaterPoint Board Uganda
**A full-stack community water-point tracking platform** — built with Next.js, TypeScript,
Prisma, and PostgreSQL, deployed on Vercel.
**Live demo:** waterpointboarduganda.vercel.app
> **Scope note:** This is a portfolio/demonstration project modeling a small local community
> utility — not a real government system, not a drinking-water certification platform, and not a
> contamination-detection tool. All data (water points, users, reports) is fictional and
> deterministic seed data. See docs/DATA-METHODOLOGY.md.
---
## What it does
WaterPoint Board Uganda tracks the operational status of community water points — boreholes,
shallow wells, protected springs, tap stands, and rainwater tanks — for one small, fictional
Ugandan community. It models a realistic end-to-end workflow:
- **Anyone** can browse the public directory and search/filter water points by status, type, or
village.
- **Community members** can report issues (no water, contamination concerns, physical damage,
vandalism) against any water point, with or without an account.
- **Caretakers** get a dashboard of their assigned water points, triage open reports, update
status, and log maintenance history.
- **Admins** manage user roles, review a full audit trail, and view analytics dashboards with a
one-click CSV export.
## Feature highlights
| Area | What's implemented |
| --- | --- |
| 🗺️ Public directory | Search + filter by status/type/village, freshness indicators, full report & maintenance history per water point |
| 📝 Community reporting | Anonymous or authenticated issue reporting, rate-limited, validated with Zod |
| 🧰 Caretaker tools | Per-caretaker dashboard, status updates, maintenance logging |
| 🛠️ Admin tools | Role management, audit/activity feed, CSV export |
| 📊 Analytics | Status/issue/village breakdowns with Recharts |
| 🔐 Auth & RBAC | Custom credentials auth (bcrypt + signed JWT cookie), Edge middleware route protection, server-side re-checks on ever …