Giter VIP home page Giter VIP logo

nots1dd / hydraware Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 1.0 2.64 MB

A cross-platform solution toward a more hydro-knolwedgable world. Made for GDSC Solutions Challenge 2024

Home Page: https://youtu.be/bOwJnVndX2Y

License: MIT License

Java 0.33% Kotlin 0.06% Swift 1.22% Objective-C 0.02% Dart 74.98% CMake 9.72% C++ 12.04% C 0.71% HTML 0.91%
firebase-auth firebase-database flutter-app gemini-api machine-learning open-street-map solutions-challenge

hydraware's Introduction

Hydraware

Logo

Youtube Badge

A cross-platform solution toward a more hydro-knolwedgable world.

Aim

  • To give the user a quick and easy overview of the fresh water supply and hydrological analysis of their locality with the help of governmental organisations like National Institute of Hydrology along with Machine Learning to predict any future shortages
  • Effortless access of important announcements through push notifications
  • Build a gap between water suppliers and the populace
  • Give users an understanding of the water network in their area (includes STP, water processing so on)

Hydraware bridges the gap between water networks and the public, promoting transparency and responsible water use. Imagine understanding your water's journey from source to treatment, participating in discussions about sustainable practices, and receiving alerts about potential outages โ€“ all within a single, user-friendly app.

Future plans

-Global reach: Expanding beyond a single location to serve users in various regions with diverse water challenges.
-Additional features: Integrating features like water quality analysis, personalized water-saving recommendations, and gamification elements to encourage sustainable habits.
-Partnerships: Collaborating with water conservation organizations, educational institutions, and businesses to promote responsible water use.
-Core features: 1. Machine Learning equipped system to predict freshwater supply in a particular region through local hydrological organisations data
                2. Multilingual support to ensure the reachability of the app to non-native English speakers
                3. Set up of SOS emergency helpline numbers with the partnership of local authorities and services
                4. Setting up an easy-to-access information window of all freshwater suppliers in an area with their contact details

Social impact:

-Advocacy platform: Integrating features to raise awareness about water-related issues and encourage users to participate in advocacy efforts.
-Community action: Facilitating collaboration between users and local organizations to address water challenges in their areas.
-Education and awareness campaigns: Partnering with educational institutions to develop educational content about water conservation and sustainability.

Stack Required

  • Flutter 3.16
  • Dart
  • Firebase
  • OpenStreetMaps

Initial Survey and Product Feasibility Research

https://forms.gle/HoFUQtE2LMUAtfDD9

image image image

Survey's takeaways

  • The need for an easy-to-access platform to convey the information and knowledge regarding the hydrological activities present in a locality
  • The need to bridge the communication gap between governamental bodies and habitants of an area
  • An overall movement to help raise more awareness and fact-binded information to a wide audience

Features

  • Uses Gemini API to initialize Hydraware Customer Support Bot
  • OpenStreetMap integration to view your current location and future applications with ML for freshwater availability predictions.
  • FirebaseAuth and FirebaseFirestore implementation for easy authentication process and db management
  • Search Forum for users to post issues in their locality, contains an upvote feature that will give the authorities an idea on the severity of the issue
  • SOS feature that will provide with immediate helpline numbers (like the locality's hydrological commision or freshwater maintainer) in case of great distress
  • Future ambitions of the app like ML integration to show the hydro-map of the locality to much more!
Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5

Installation

Prerequisites:

  • Git
  • Flutter/Dart
  • Firebase CLI
  1. Clone this repository https://github.com/nots1dd/Hydraware.git into your Text-Editor (like VS Code) with the command git clone https://github.com/nots1dd/Hydraware.git
  2. Upon cloning, ensure all dependencies are taken care for by flutter pub get and assets are all in your local machine.
  3. Add a .env file in the main directory and set GEMINI_API_KEY_2 as your gemini api token, which you can get from google's AI studio using your google account.
  4. Now run flutter run doctor to check if everything is fine.
  5. If everything is sorted till now, just hit the run button in your Text-Editor, or just flutter run

Contribution Guide

Although the application is still not fully completed yet, you can contribute to Hydraware by:

  • Cloning this repository https://github.com/nots1dd/Hydraware.git
  • Configuring your own Firebase Console before running

Keynotes

  • Data Privacy and secutiry of users is assured with Firebase's security rules, and more will be done to ensure a digitally safer architecture for all users and potential stakeholders.

Credits

-Siddharth Karanam

-Ananta Krishnan

-Abhinav Anil

-Reuben Philip

hydraware's People

Contributors

nots1dd avatar altsumpreme avatar onerandom1509 avatar sasikuttan2163 avatar

Stargazers

 avatar Abhishek Girish  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

altsumpreme

hydraware's Issues

Feat: Password Textfield eye toggle

Under lib > components there is a pwdtextfield.dart file that should be used to create a textfield such that there exists an eye toggle icon to click to view the written password (should implement for both password textfields in login and register.dart files)

Feat: Create a segway to forgot password

This will require to create an entire service for forgotten password
Flow:
Forgot Password? > email ID > send mail with password (or) send mail with OTP > OTP/pwd verify> Home

Feat: README.md

Make a satisfying README.md file that showcases all the changes that were implemented for this Flutter project (including the usage of Firebase CLI and other possible future additions) along with the steps on how to replicate this in a user's LM. A preview video and pics are also preferred.

Bugfix: RegEx implementation for authservice

While registering, implement RE into the controller such that only popular domains can be used:
For example --> @gmail.com, @outlook.com, @yahoo.com and so on.
Right now, the issue is the fact that firebase authservice only checks for @ and .com in the mail ID textfield. As a result, even an arbitrary login ID such as [email protected] can login despite invalid domain. This rises from the fact that I had to disable email enumeration in Firebase Console in order for changes to reflect. This is very solvable.
Also create a return Dialog in case the above RE criteria is not met (you can look at the code for invalidAuth void function to mimic similar Dialog prompt behaviour.

Home Page Map Integration

With any stack that is able to render the map and do the functions readily, integrate the HomePage.dart with a Maps API.

Basic Features to be implemented:

  1. Rendering of Map and zooming capabilities
  2. Location marker based on GeoLocation
  3. Ability to select another region with said Location marker using a search feature
  4. Save location as Home

Also check for its feasibilities and limits as it would be better if the same integration can also be manipulated to show the Fresh Water Distribution over the locality.

Also, all the changes made to Android Manifest.xml, build.gradle and other structural files for the Map implementation must be noted and mentioned.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.