MiriTankr is Enugu's first unified water logistics and provenance verification platform. It shifts the paradigm from a simple water-delivery utility to an open, trustworthy verification network connecting customers, tanker owners, drivers, and water source facilities.
Enugu State faces a historical public water utility deficit, leading residential, commercial, and industrial consumers to rely heavily on private mobile water tankers. This informal marketplace introduces two critical challenges:
- The Trust Deficit (Water Safety): Customers order water blindly without knowing its origin. Tankers often source contaminated water from unverified boreholes, muddy rivers, or unsafe depots, mislabeling it as "clean treatment-plant water."
- Pricing Exploitation (Informal Cartels): During dry seasons or municipal disruptions, cartels and brokers double or triple water prices arbitrarily, leaving citizens to pay exorbitant fees with zero pricing transparency.
MiriTankr operates as a digital ledger of clean water. Customers don't just order water—they order verified water from a specific, audited source. Every delivery generates a provenance log showing:
- The exact source name and address (e.g., 9th Mile Water Treatment Plant vs Community Borehole).
- Quality indicators (inspection logs, pH levels, Total Dissolved Solids [TDS], turbidity) and quality grades (A, B, C).
- Fill timestamps, driver details, and real-time transit telemetry tracking to ensure no unapproved water replacement or siphoning.
- Drinking Water: Strictly routed to certified, Class-A water treatment plants or municipal reservoirs. Only drivers with tankers registered to verified sources are eligible to accept these orders.
- Utility Water: Sourced from both verified and unverified boreholes for construction sites, pool-filling, cleaning, or industrial use, offering cost-effective pricing.
Smart matching algorithms eliminate surge extortion by informal syndicates through clear regulated pricing:
- Controlled base price per-litre, managed directly by the source facility.
- Fixed transit rate per-kilometer, computed dynamically based on GPS distance from the source to the customer's coordinates.
- Secure cashless transactions processed via Paystack.
Admin (Verifies Sources, Tankers & Quality Reports)
│
├── Water Source Facility (Registers depots, updates quality reports)
│ └── Tanker Owners & Drivers (Register vehicles, declare source, dispatch)
│
└── Customers (Request Water Category + Volume, Track Provenance & Pay)
- Admins: Verify new source depots, review laboratory test metrics, and inspect tanker licenses.
- Water Source Facility: Register physical depots, declare price per-litre, and log quality reports.
- Tanker Owners / Drivers: Declare their primary water source, view active orders matching their source's eligibility, and receive turn-by-turn navigation routing.
- Customers: Request water by category (Drinking/Utility) and size (500L to 50,000L). They track progress on a live map and pay upon successful delivery.
- Language & Framework: Python 3.12, FastAPI (Async/Await)
- Database & ORM: PostgreSQL (Neon Cloud) / SQLite (Local), SQLAlchemy 2.0 (Asyncpg)
- Migrations: Alembic
- Testing: Pytest (100% test suite success)
- Framework: Next.js 16 (App Router, Turbopack, SSR & Client Hydration)
- Styling: Tailwind CSS v4, Lucide React Icons
- Forms & Validation: React Hook Form, Zod Resolver
- State Management: Zustand (Auth persist)
- Payments: Paystack checkout flow
- Navigate to the backend directory:
cd backend - Create and activate a Python virtual environment:
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up the
.envvariables (see.env.example). - Run migrations and start the server:
alembic upgrade head python create_admin.py --email admin@miritankr.com --password AdminPassword123 --first-name System --last-name Admin uvicorn app.main:app --reload
- Navigate to the frontend directory:
cd miritankr - Install npm packages:
npm install
- Run the Next.js development server:
npm run dev
- Visit the web app at
http://localhost:3000.