Awesome
Water Monitoring System - IoT Project
:mask: COVID-19 | Stay Home, Stay Safe! :house: <br> :mag_right: Checkout this web app for live CORONA updates.
:incoming_envelope: Read my open letter here. :heart:
:bar_chart: Checkout the COVID-19 Tracker :mask: | INDIA :india:
:point_right: You can find the repo here. :star:
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.
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
1. Fork this repository. Click on the <a href="https://github.com/vinitshahdeo/Water-Monitoring-System/"><img src="https://img.icons8.com/ios/24/000000/code-fork.png"></a> 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.
Issues
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.
Contribution Guidelines
-
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:
- 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.
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 :pencil:
Article | Author |
---|---|
GirlScript Summer of Code 2020 Mentor Experience | @PragatiVerma18 |
GSSOC 2020-A journey to explore the “UNEXPLORED” | @Swarnimashukla |
About RGSoC'20
<a href="https://github.com/vinitshahdeo/Water-Monitoring-System/issues/141" target="_blank"><img src="./assets/rgsoc2020.png" width="30%" height="30%"/></a>
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! :heart:
- Feel free to shoot your doubts here.
Leapcode
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.
Hacktoberfest
<a href="https://hacktoberfest.digitalocean.com/"><img src="assets/Logo.svg" width="30%"></a>
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
- 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!
Mentors
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
<a href="https://fayz.in/stories/s/1522/0/?ckt_id=ZGL1ZGVk&title=story_of_vinit_shahdeo"><img src="assets/vinit-shahdeo.jpg" width=150px height=150px /></a> |
---|
Vinit Shahdeo |
<a href="https://twitter.com/Vinit_Shahdeo"><img src="assets/twitter.png" width="32px" height="32px"></a> <a href="https://www.facebook.com/vinit.shahdeo"><img src="assets/facebook.png" width="32px" height="32px"></a> <a href="https://www.linkedin.com/in/vinitshahdeo/"><img src="assets/linkedin.png" width="32px" height="32px"></a> |
Need help? Feel free to contact me @ vinitshahdeo@gmail.com
COVID-19<sup>Stay Home, Stay Safe!</sup>
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();
}
:wave: 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
:x: Avoid Handshakes :handshake:
:heavy_check_mark: Do Namastey :pray:
<br><sup>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.</sup>
Your friend, <br> 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
}
<p align="center"><strong><sup>:hugs: <br>Check out my other projects <a href="./PROJECTS.md">here</a>!</sup></strong></p>