Water Monitoring System - IoT Project
📨 Read my open letter here. ❤️
📊 Checkout the COVID-19 Tracker 😷 | INDIA 🇮🇳
👉 You can find the repo here. ⭐
You can view the demo here.
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.
- 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
1. Fork this repository. Click on the symbol at the top right corner.
2. Clone the forked repository.
git clone https://github.com/<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 https://github.com/vinitshahdeo/Water-Monitoring-System.git #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.
TITLE | LEVEL |
---|---|
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.
-
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.
This project is part of the following Open Source programs:
- GirlScript Summer of Code 2020
- Rails Girls Summer of Code 2020
- Student Code In
- Leapcode
- JGEC Winter of Code 2020
- Hacktoberfest 2020
- Script Winter Of Code
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.
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.
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.
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.
-
Frontend: React
-
Backend: Django, Node.js
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 = `https://github.com`,
projectsInRGSoC = _.filter(appliedProjects,
(project) => {
RGSoC.isSelected(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 leapcode.io. 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!
-
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
- Django:
-
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!
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) |
Vinit Shahdeo |
Need help? Feel free to contact me @ vinitshahdeo@gmail.com
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() {
eat();
sleep();
code();
repeat();
}
while(_.isAlive(new Virus('COVID-19'))) {
// Stay home, Stay safe
stayAtHome();
}
👋 DO THE FIVE: Help stop coronavirus
- HANDS: Wash them often
- ELBOW: Cough into it
- FACE: Don't touch it
- SPACE: Keep safe distance
- HOME: Stay if you can
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} = https://github.com/vinitshahdeo/Water-Monitoring-System/
*
*/
if (thisRepo.isAwesome()) {
thisRepo.fork(); // waiting for your awesome contributions :)
thisRepo.star(); // thanks in advance :p
thisRepo.watch(bug => {
if (!doesIssueExists(bug)) {
createNewIssue(bug); // wow, that's a nice catch
} else {
checkIssueTracker(bug); // comment there
}
});
thisRepo.share(); // sharing is caring :D
}
🤗
Check out my other projects here!