markdown
AquaTrack WaterWise is a smart water usage tracker built to help African communities monitor their household or communal water consumption. It provides valuable AI-powered tips for conservation and sends alerts when abnormal water usage is detected.
Try the live version of WaterWise here: https://waterwise-69336.web.app/
Many African communities experience water scarcity. WaterWise aims to:
- Empower users to track and manage daily water usage.
- Provide AI-generated tips to reduce water wastage.
- Alert local authorities when water usage spikes.
- HTML
- CSS
- Vanilla JavaScript
- Node.js
- Express
- Firebase Firestore (Data Storage)
- Firebase Auth (Authentication)
- Firebase Hosting
- Sign up/login using Firebase Auth (email + password)
- View daily/weekly usage entries
- Data fetched from Firestore
- Form to input water usage (e.g., cooking, bathing)
- Stores entries with timestamps in Firestore
- Backend analyzes usage patterns
- Alerts triggered if usage exceeds daily average
- Alerts via email or visual cues on the dashboard
- Firebase Cloud Functions to generate water-saving tips
- Simple rule-based logic to keep implementation light
WaterWise/
├── dataconnect/ # DB related files (if any)
├── firebase.json # Firebase config
├── firestore.indexes.json # Firestore indexes
├── firestore.rules # Firestore security rules
├── functions/ # Backend logic
│ ├── index.ts # Main cloud function
│ ├── package.json # Node dependencies
│ ├── schema.ts # Data schema (validation)
│ ├── routes.ts # API routes (WIP)
│ ├── storage.ts # Optional file storage (WIP)
│ └── vite.ts # Vite config (optional)
├── public/ # Frontend files
│ ├── index.html # Main HTML file
│ ├── app.js # JS logic (WIP)
│ ├── style.css # Styling (WIP)
- Clone the repo
git clone https://github.com/waweruedwin8/WaterWise.git
cd WaterWise- Install Backend Dependencies
cd functions
npm install- Set Up Firebase Project
- Go to Firebase Console
- Create a new project
- Enable Authentication (Email/Password)
- Create Firestore Database
- Deploy to Firebase
firebase login
firebase init
firebase deploy- Add SMS alerts via Twilio
- Improve AI engine with ML models (TensorFlow.js or external APIs)
- Add community dashboard view
- Track household vs. community level usage
- Fork the project
- Create your feature branch (
git checkout -b feature/xyz) - Commit your changes (
git commit -m 'Add feature xyz') - Push to the branch (
git push origin feature/xyz) - Open a Pull Request
This project is licensed under the MIT License.
Edwin_Waweru 🌐 Feel free to contribute, fork, or build upon this app!