Skip to content

waweruedwin8/WaterWise

Repository files navigation

markdown

🌊 AquaTrack - Water Conservation Management

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.


🔗 Live Demo

Try the live version of WaterWise here: https://waterwise-69336.web.app/


🚀 Problem Being Solved

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.

🛠️ Tech Stack

Frontend

  • HTML
  • CSS
  • Vanilla JavaScript

Backend

  • Node.js
  • Express

Database & Hosting

  • Firebase Firestore (Data Storage)
  • Firebase Auth (Authentication)
  • Firebase Hosting

🔑 Features

✅ User Authentication

  • Sign up/login using Firebase Auth (email + password)

📊 User Dashboard

  • View daily/weekly usage entries
  • Data fetched from Firestore

📝 Usage Submission

  • Form to input water usage (e.g., cooking, bathing)
  • Stores entries with timestamps in Firestore

📈 Analytics & Alerts

  • Backend analyzes usage patterns
  • Alerts triggered if usage exceeds daily average
  • Alerts via email or visual cues on the dashboard

🧠 AI Insight Generator (Advanced)

  • Firebase Cloud Functions to generate water-saving tips
  • Simple rule-based logic to keep implementation light

📁 Project Structure


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)


🔧 Setup Instructions

  1. Clone the repo
git clone https://github.com/waweruedwin8/WaterWise.git
cd WaterWise
  1. Install Backend Dependencies
cd functions
npm install
  1. Set Up Firebase Project
  • Go to Firebase Console
  • Create a new project
  • Enable Authentication (Email/Password)
  • Create Firestore Database
  1. Deploy to Firebase
firebase login
firebase init
firebase deploy

🧑‍🧬 Future Improvements

  • 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

🤝 Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/xyz)
  3. Commit your changes (git commit -m 'Add feature xyz')
  4. Push to the branch (git push origin feature/xyz)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License.


👤 Author

Edwin_Waweru 🌐 Feel free to contribute, fork, or build upon this app!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors