I was mainly inspired by the COVID-19 pandemic and really wanted to do something about it, even a small contribution. I have had few friends living in the United States, unaware they were exposed to the virus and were still at homes, fortunately, one of them fell sick and that's when they all tested positive, as the virus doesn't necessarily show symptoms. This app is dedicated to them. By Invalidate, you can find out your nearest COVID testing center, book an appointment and hospitals would send you time slots for attending. By this, you don't have to stand in queues and risk yourself getting exposed to the virus.
What it does
The app allows users to select various COVID centers on the map, using Google Maps SDK and users can also visit any desired COVID center's website to go learn about them and book if needed. In the booking section, users can enter their name, age, and date for booking. The booking on submission will be verified by the hospital and they will provide you a slot accordingly. If the hospital is out of slots on the day, you booked, then you can delete your current booking and choose a new date or hospital as per your preference. Users can also add symptoms, probable exposure, and travel within 14 days if they wish so that hospitals can view this and provide assistance immediately if needed. Users can also delete symptoms if they wish or they can update new ones as well. Users can also read live health news to keep themselves up to the pandemic conditions outside. You can also mention any symptoms or probable exposures and even travels such that hospitals can send you immediate assistance if required. Users can also talk to a health bot which gives a little insight into hospitals near you and health conditions. You can also upload prescription images to the app which extracts text so that you can read about these medicines online and their dosages, and you don't want to take risk with dosages. The app comes with a pedometer, which motivates users to walk daily.
How I built it
The app is made with Firebase for the back-end and Flutter for the front-end. Google Maps SDK has been used for the map feature and Google Sign-in for secure and easy, hassle-free login. With Google Maps, I can change the Map type to Satellite or Normal according to the user preference, set markers on the map indicating the location of COVID centers. With Firebase, all data- adding, deleting, and updating is done quickly and also Firebase and Google Sign-in together provide, the current user's information such as profile pic, email, and name. Google Sign-in alone is used to signing into the app, hence the user doesn't have to first sign up and then sign in, it all happens in one single tap. I have used Google Dialog Flow for the chatbot to provide a seamless chatbot experience and instant update deployments if needed. For text extraction, Firebase Vision ML has been used, which not only extracts texts but also converts handwritten statements to a textual form, hence this has great accuracy, with extractions. I have also used the local device pedometer to trigger and monitor user steps.
Challenges I ran into
Using multiple Google Cloud Products: DialogFlow, Firebase, Google Maps SDK, Firebase Vision ML, and Google Sign-in is really seamless but however challenging to integrate into an app. However with multiple errors, I have used documentation support to overcome few errors, and managing all these within less time was almost impossible but with perfect time management, I did overcome.
Accomplishments that I'm proud of
Bug fixing and configuring a good and smooth UI is a great accomplishment for me, as I have not just learned new things but also got a chance to improve the things, that I have already used before, and getting my app to run within the hack duration is something that I am really proud of.
What I learned
Perfect time management and bug fixing various tools and APIs.
What's next for Invalidate
Getting in touch with hospitals, so they can manage the database and send out emails to the booked user, confirming their booking along with time slots. Sign-in with Apple will be added for iOS devices, even though Sign-in with Google also works for iOS users, but with Sign-in with Apple, users can use their FaceID or TouchID to login to the app, making it very seamless, especially with the iOS platform. Siri and Google Assistant integration will be added so that logged in users can book hospitals near them with their voice itself. Users will also get a healthy workout monitors and a watchOS integration to monitor these workouts and accurate steps, using Apple Watch.