The inspiration for Rona Radar was actually a previous hackathon that was hosted at the school where all of our members attend. Many people did very cool things with the google maps api, but they all felt like very static implementations of it. Our hope is that with this project, the dynamic properties such as the fetching of related articles will shine.
What it does
Finds nearby hospitals and doctors, and gives the user hourly articles related to covid and vaccinations.
How we built it
We built it in two parts. Quart (an asynchronous version of Flask) was used in python for the backend to return a list of covid articles that refreshed hourly. The backend requests a list of New York Times heslth related articles, finds out which ones are covid related, and replaces the existing list of articles in the database. When a request is made to the backend, it returns a list of the current popular covid related articles. On the front end side of things, we used the standard Android SDK with material ui. The google maps api is used in the maps tab to give the user hospitals near their location that could be potential covid vaccination sites. To add on, you can search for a certain area anywhere in the world, and find nearby hospitals and doctors there as well. The second tab, when pressed, requests data from the backend and parses it into material cards.
Challenges we ran into
How do we make requests to a backend in an app? How do we make an app? How will we utilize the maps api? How do we create proper navigation within the app?
Accomplishments that we're proud of
The system of using asyncio timers to update a database of articles with custom fields is something that is a major accomplishment. Additionally, the google maps component and getting it to mark out specific places like hospitals is also a really big accomplishment for us.
What we learned
How to make a basic android app. How to connect a frontend app to a backend. How to work with Firestore.
What's next for Rona Radar®
Notification system for hourly articles New navigation tab for eligibility requirements