Water, the core element of survival for living beings on the planet and only 2% of the total water available is fit for drinking. Pure drinking water is scarce and expensive in some parts of the world. Plastics, the root cause of Global Warming is the main reason for drastic weather changes across the world ranging from solar flares to untimely sea tides. On an average, 275 million ton of plastics is dumped into seas every year out of which a majority of them are drinking water bottles.
According to the UN, 2.2 Billion people across the world do not have access to safely managed drinking water and it is mostly due to the lack of resources . We wanted to build a solution to all these problems through a mobile app. This led us to a one-stop solution, Aqua.
What it does
Aqua, a smarter way to water is an end to end solution which helps a person to get water from nearby Drinking Water Kiosks through IoT based dispensing and helps a user track the amount of water consumed as well as the number of bottles he/she has saved.
A user can generate a QR-Code when he/she signs-up and then uses that in his/her water bottle. When scanned using the Aqua app, the response will be sent to a Raspberry-Pi controlled module, which is responsible for dispensing the right amount of water to a bottle. The person can pay towards the water bottle using the in-app payment gateway and a significant portion of the payment goes towards Charities working towards Saving Water, Reducing Plastic and more.
The user can also track the global stats of the other users of the app through his phone. He/she can also add money to their wallet and use it as a payment method towards Aqua. The app also has support for login through Social Profiles.
How we built it
After we got the idea, we made a list of the components, tools which we need and then procured the hardware parts. Then we designed the app using Adobe Xd, Adobe Photoshop. Once the initial designs were done, we set-up the project using Facebook's React Native mobile framework. At first, the initial set of screens were done and then Firebase was setup for the backend part.
While we were developing the app, we also focused upon the hardware section, linking Raspberry-Pi to a servo and then initializing it with a python script and once it was done, we linked the script with our Firestore Database and set it up to work dynamically in real time.
Once, hardware section was done, we again shifted our focus towards the app and changed some designs of the app, in-app wallet management section, a page to track the overall stats were developed. Also we integrated payment gateway to the app to support for purchase of water through the app itself.
Challenges we ran into
- The most difficult part was the linking of Raspberry-Pi with Firebase to get the real time updates through snapshots and from these updates, rotate the servo by an angle of 90degrees. After hours of googling and searching for solutions in stack overflow, we finally did it. Yay!
- We had decided to with a square shape based UI for the whole app, and at times we had to redesign the whole screen when we couldn't add complex parts and redid it with easier and more eye-catchy components
- Our team was together and one huge challenge we ran into was the frequent Power Cuts at our place and then we had to work on our stuff again if we didn't save our work :/
- Integration of payment gateway as we had never done that before given the challenges concerning security and the complexity of the whole gateway-app-database connection
Accomplishments that we're proud of
- We had set some milestones for ourselves during the whole process, one thing we are definitely proud and happy is that we successfully linked the Pi Board to change the direction of servo motor with real time data updating in firebase
- We did some Jugaad with connecting our servo to the water can :)
- The integration of payment gateway with our app with proper security and working of it. Once a user pays, the data is stored in our database also
What we learned
- We were somewhat new to the hardware parts of the project and we had an amazing time building it. We learnt to link the Raspberry-Pi board with the firebase document to fetch the real time data from it.
- We learnt to integrate one of the largest payment gateways in the world, Stripe into our app to support for in-app purchase of water.
- Due to the power cuts, we also learnt a bit of patience also :)
What's next for Aqua - Smarter H20
- Make it public, get on-board with the government agencies and add support for multiple water kiosks
- Add profile editing sections, better customization and addition of dark theme