A comprehensive prepaid water meter management system for the Zimbabwe National Water Authority (ZINWA). This system consists of a robust Express.js backend API and a Flutter mobile application that allows customers to manage their water accounts, purchase tokens, and monitor consumption.
# ZINWA Water Meter System
A comprehensive prepaid water meter management system for the Zimbabwe National Water Authority (ZINWA). This system consists of a robust Express.js backend API and a Flutter mobile application that allows customers to manage their water accounts, purchase tokens, and monitor consumption.
## 📋 Table of Contents
- Overview
- Features
- Technology Stack
- Architecture
- Installation
- Configuration
- API Documentation
- Mobile App Setup
- Usage Examples
- Database Schema
- Deployment
- Testing
- Contributing
- Troubleshooting
- Support
- License
## 🌟 Overview
The ZINWA Water Meter System is a modern, scalable solution designed to digitize water meter management for Zimbabwe's water authority. The system enables customers to:
- Register and manage their water accounts
- Purchase prepaid water tokens online
- Monitor water consumption and balance
- View payment history and receipts
- Receive notifications about account activities
Administrators can:
- Manage customer accounts and properties
- Set water rates and pricing
- Monitor system-wide analytics
- Generate comprehensive reports
- Handle customer support requests
## ✨ Features
### 🔐 Authentication & User Management
- **Multi-role Authentication**: Customer, Admin, and Super Admin roles
- **Secure Registration**: Email verification and password strength validation
- **Password Recovery**: Forgot password functionality with email reset links
- **Profile Management**: Update personal information and preferences
- **Session Management**: JWT-based authentication with refresh tokens
### 🏠 Property Management
- **Property Registration**: Support for multiple property types (residential, commercial, industrial)
- **Property Verification**: Admin approval process for new properties
- **Multiple Properties**: Customers can manage multiple properties
- **Property Details**: Comprehensive property information including location data
- **Meter Association**: Link water meters to specific …