Awesome Open Source
Awesome Open Source

Water Monitoring System - IoT Project

😷 COVID-19 | Stay Home, Stay Safe! 🏠
🔎 Checkout this web app for live CORONA updates.

📨 Read my open letter here. ❤️

📊 Checkout the COVID-19 Tracker 😷 | INDIA 🇮🇳

👉 You can find the repo here. ⭐️

first-timers-only GitHub license GitHub stars GitHub forks GitHub top language Open Source Helpers

You can view the demo here.

Water Monitoring System IoT

Water Monitoring System is an IoT based Liquid Level Monitoring system that has the mechanism to keep the user alerted in case of liquid overflow or when tank depletes. The water tanks can be fixed with ultrasonic sensors that is placed over the container. Ultrasonic sensor is used to measure, compare container depth and liquid level.

The status of the system could be monitored by a LCD screen or a web page that provides a brilliant graphical representation. Colours are used to depict various scenarios with respect to the amount of liquid in the tanks or containers and the buzzer buzzes when the limit exceeds the permissible quantity of fill.

Goals of this project :

  • To reduce the wastage of water across the city
  • To provide better water supply to the people
  ____                   __        __    _
 / ___|  __ ___   _____  \ \      / /_ _| |_ ___ _ __
 \___ \ / _` \ \ / / _ \  \ \ /\ / / _` | __/ _ \ '__|
  ___) | (_| |\ V /  __/   \ V  V / (_| | ||  __/ |
 |____/ \__,_| \_/ \___|    \_/\_/ \__,_|\__\___|_|
  ____                    _     _  __
 / ___|  __ ___   _____  | |   (_)/ _| ___
 \___ \ / _` \ \ / / _ \ | |   | | |_ / _ \
  ___) | (_| |\ V /  __/ | |___| |  _|  __/
 |____/ \__,_| \_/ \___| |_____|_|_|  \___|

Click here to download the report.

The IoT(Hardware) components required are:

  • AVR family microcontroller
  • LCD screen
  • Wifi modem
  • A buzzer
  • 12V transformer

Getting Started

GitHub code size in bytes GitHub commit activity GitHub repo size

1. Fork this repository. Click on the symbol at the top right corner.

2. Clone the forked repository.

git clone<your-github-username>/Water-Monitoring-System

3. Navigate to the project directory.

cd Water-Monitoring-System

4. Create a new branch.

git checkout -b <your_branch_name>

5. Make changes in source code.

6. Stage your changes and commit

#Add changes to Index
git add .

#Commit to the local repo
git commit -m "<your_commit_message>"

CAUTION: Synch up your local repo with original repo (Upstream) before pushing your commits. This avoids unnecessary conflicts during the merge.

NOTE: You can do so by adding a remote handler reference to the original repo and pull the changes from the respective branch. Resolve the merge-conflicts if any.

TIPS: Workflow diagram

#Add upstream repo
git remote add upstream

#Disable accidental push to the upstream
git remote set-url --push upstream DISABLE

#List the remote repo and fetch references
git remote -v && git fetch upstream

#Check for any new commits in the upstream branch
git log HEAD..upstream/master #No output indicates, upstream has not moved ahead

#See the patch difference between local and upstream branch
git diff -p HEAD..upstream/master

CAUTION: If the upstream has moved ahead, rebase your commit and resolve conflicts if any. [Skip otherwise]

git rebase upstream/master

7. Push your local commits to the remote repo.

git push -u origin <your_branch_name>

8. Create a PR !

9. Congratulations! Sit and relax, you've made your contribution to Water Monitoring System project.


GitHub issues PRs Welcome GitHub last commit

UI Enhancements EASY
Project Documentation VERY EASY
Setting up Cloud APIs to send/receive data MEDIUM
Admin Dashboard HARD
Notify stakeholders ADVANCED

NOTE: Feel free to open issues. Make sure you follow the Issue Template provided.

Contribution Guidelines

GitHub pull requests GitHub contributors Vinit Shahdeo

  • Write clear meaningful git commit messages (Do read this).

  • Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check this for more info)

  • When you make very very minor changes to a PR of yours (like for example fixing a text in button, minor changes requested by reviewers) make sure you squash your commits afterward so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at here)

  • When you're submitting a PR for a UI-related issue, it would be really awesome if you add a screenshot of your change or a link to a deployment where it can be tested out along with your PR. It makes it very easy for the reviewers and you'll also get reviews quicker.

  • Please follow the PR Template to create the PR.

  • Always create PR to develop branch.

  • Please read our Code of Conduct.

  • Refer this for more.

Open Source Programs

This project is part of the following Open Source programs:

Frequently Asked Questions(FAQs) for GSSoC'20

This project is accepting contributions under GirlScript Summer of Code 2020 - three months long Open Source program conducted by GirlScript Foundation.


1. How to start as a beginner so as to contribute to the project?

There are many beginner level issues to begin with, which include documentation, development and design. Also, feel free to make issues for features as well as for reporting bugs.Participants can claim an issue by commenting that they are interested in it. We are also open to new ideas and suggestions.

2. Is this a hardware/IoT project?

Yes, it is a hardware/IoT + software project. There would be maximum tasks related to frontend, backend, design and documentation of the website and later, it would be integarted with the real-time data from the sensors.

3. How to communicate with us?

All communication will happen on the Slack channel for this particular projects. Mentors can also be reached through GitHub. Avoid DMs and unnecessary mentions on slack and GitHub both. Checkout this issue for more.

4. What is the Tech Stack for this project?

  • Frontend: React

  • Backend: Django, Node.js

5. What is the deadline for any task submission?

Mentors can assign issues to participants and also mention a deadline before which the issue is to be resolved. They can reassign issues in case of any delay, so be active and complete your tasks within the negotiated duration.

Shared experiences on GSSoC'20 📝

Article Author
GirlScript Summer of Code 2020 Mentor Experience @PragatiVerma18
GSSOC 2020-A journey to explore the “UNEXPLORED” @Swarnimashukla

About RGSoC'20

var baseURL = ``,
    projectsInRGSoC = _.filter(appliedProjects,
        (project) => {
                new Date().getFullYear())

if (_.contains(projectsInRGSoC, {
        name: `Water Monitoring System`,
        url: `${baseURL}Water-Monitoring-System`
    })) {
    fork('Water Monitoring System');
    // Looking forward to awesome contributions
    console.log('Thank You RGSoC');

Glad to share that this project is shortlisted for Rails Girls Summer Of Code 2020, a global fellowship program for women and non-binary coders. Students receive a three-month scholarship to work on existing Open Source projects and expand their skill set.

  • Click here to learn more.
  • RGSoC student applications have officially started on Monday, 02 March 2020. Apply here.
  • Check out the project here.
  • Click here to view the tweet. RTs are most welcome! ❤️
  • Feel free to shoot your doubts here.



Now, we're officially a part of They're still building and hopeful to have their platform up pretty soon. Click here to get an early access.


Register here for Hacktoberfest and make four pull requests (PRs) between October 1-31 to earn a free t-shirt.

There are many beginner level issues to begin with, with Hacktoberfest as the label which include documentation, development and design. Take up any issue and send your first PR!

Additional Info

  • If you're interested in contributing for documentation, please checkout feature/documentation branch.

  • If you're interested in contributing for backend, please checkout the following branch according to the tech stack:

    • Django: feature/backend-django
    • Node.js: feature/backend-node
  • If you're interested in contributing for frontend, please checkout feature/frontend branch.

Note: Are you an absolute beginner? Please check the issues labeled with first-timers-only. These issues might let your Open Source journey begin - Welcome onboard!


Open Source Love GitHub pull requests

GitHub Usernames Domain
@vinitshahdeo Full Stack + Documentation
@ShreyaAnand Full Stack
@YashMeh Backend
@PragatiVerma18 Backend + Documentation
@ramanaditya Backend + Hardware
@ArpitKotecha Backend
@Manvityagi APIs + Cloud
@divyabhushan Documentation
@jainpawan21 Frontend
@amaaniqbal Frontend
@nainikaB UI/UX
@roypratik IoT
@sharmishthadash Product Management
@nandikajain Frontend (React)
@harshita19244 Frontend (React)

Useful Resources

Project Admin

Relative date Maintenance

Vinit Shahdeo

Need help? Feel free to contact me @ [email protected]

GitHub followers Twitter Follow

COVID-19Stay Home, Stay Safe!

I hope you are all staying safe at your home and enjoying the contribution for your awesome open source projects.

 * Let's fight for Corona together!
function stayAtHome() {

while(_.isAlive(new Virus('COVID-19'))) {
  // Stay home, Stay safe

👋 DO THE FIVE: Help stop coronavirus

  1. HANDS: Wash them often
  2. ELBOW: Cough into it
  3. FACE: Don't touch it
  4. SPACE: Keep safe distance
  5. HOME: Stay if you can

❌ Avoid Handshakes 🤝

✔️ Do Namastey 🙏

PS: I know it's off-topic but Yes, COVID-19 everyone's talking about. Please stay safe at your home and enjoy contributing to your projects.

Your friend,
Vinit :)

 * {thisRepo.url} =
if (thisRepo.isAwesome()) {
  thisRepo.fork(); // waiting for your awesome contributions :); // thanks in advance :p => {
    if (!doesIssueExists(bug)) {
      createNewIssue(bug); // wow, that's a nice catch
    } else {
      checkIssueTracker(bug); // comment there
  thisRepo.share(); // sharing is caring :D

built with love powered by water smile please

Check out my other projects here!

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,535,235
Html (430,821
Nodejs (55,267
Hacktoberfest (37,982
Api (22,692
Arduino (21,658
Django (12,894
Jquery (7,787
Iot (5,826
Covid 19 (5,145
Hacktoberfest2020 (2,832
Coronavirus (1,764
Hardware (1,531
Coronavirus Tracking (594
Coronavirus Real Time (237
Ultrasonic Sensor (126
Gssoc (8
Gssoc20 (8
Water Monitoring (7
Related Projects