Skip to content

codewithlennylen/mewater-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

MeWater

MeWater is a water conservation solution that uses IoT Devices (Solenoid Valves, Flow Meters, etc) to detect and monitor water leakages in realtime. The system auto-shuts down detected leakage lines thus saving on water.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project


(back to top)

Built With

  • Bootstrap
  • Python
    • Flask
  • AWS

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.


Prerequisites

This dashboard relies on AWS components and thus needs to connect to them to display data.

The cloud architecture diagram is as shown below. Read more here.


Installation

  1. Clone the repo

    git clone https://github.com/codewithlennylen/mewater-dashboard.git
  2. Navigate to the code-base directory

    cd code-base/
  3. [Linux Systems] Install Python Venv Package

    pip3 install python3-venv
  4. Create Virtual Environment

    python3 -m venv venv
  5. Activate Virtual Environment

    [Linux]

    source venv/bin/activate

    [Windows]

    source venv/scripts/activate
  6. Install project requirements

    pip3 install -r requirements.txt
  7. Navigate to app Directory

    cd app/
  8. Edit the .env file to include your AWS Access Credentials & Database URI (use the editor of your choosing)

    sudo nano .env
  9. Navigate back to code-base Directory

    cd ..
  10. Run project

    flask run

(back to top)

Usage


The Dashboard has charts that display the system's state. i.e. Current water consumption, as well as whether any leaks have been detected.



As explained in the MeWater Cloud Setup, once a leak is detected an SMS & Email are sent to the user informing them of the incident. Additionally, a shutdown command is sent to the IoT devices (valves in this case) to turn off the line with the detected leakage.

Recommended Resources

(back to top)

Roadmap

  • Make dashboard dynamic by using live charts
    • Asynchronous Data Fetching
  • Add more charts - track longer periods of time
  • User management system (AWS Cognito)

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Your Name - @codewithlenny - codewithlennylen254@gmail.com

Project Link: https://github.com/codewithlennylen/mewater-dashboard

(back to top)

Acknowledgments

(back to top)

About

This is a customized analytics dashboard that displays a user's water consumption. Created for the AWS Impact+ Hackathon, October 2022

Resources

License

Stars

Watchers

Forks

Packages

No packages published