This is an App which makes use of COVID-19 India API and a few other APIs mentioned here, to display the Daily Increase of Corona Virus Cases in India, Nationwide and State-wise. All Glory to God for helping me in this and to my parents for their support.
Firstly, A Big Shout out and thanks to all medical staff, police and everyone working in the frontlines of this pandemic, some of who also sacrified their lives. God bless their effort.
Originally it was taught by Rahul Pandey Sir, (check out his youtube tutorial here)
This app makes use of MVVM architecture and Kotlin Coroutines. The clean architecture of the app was inspired by the MVVM news App by Philipp Lackner
A Big Shout-out and thanks to both of them, God Bless them. Do subscribe to both their YouTube channels!
Thanks to Yaswant Narayan for his guidance. Also special thanks to Ivan Jacob for helping me.
UI is inspired by the Robinhood Stock Trading App.
Libraries used:
- Spark from Robinhood
- Ticker from Robinhood
- Nice Spinner
- Dagger Hilt for Dependency Injections
- Lottie Animations
Splash Screen | Main Fragment | Toggle between Daily and Total numbers |
You could view statistics for other provinces in India using the spinner,
Select a province | Tamil Nadu | Tamil Nadu Daily Recovered |
Also change between overall and monthly timeline view:
Daily death increase | Death increase over a month |
In the Other Fragments, made use of Google Maps API v2, SDk for android
- India Fragment, used a Choropleth Plot to visualize the statistics
- World Fragment, used a Bubble Chart
For the Choropleth plot,
- I've obtained the Boundaries from OpenMaps API, in a .geojson format
I've collected the boundary data from their Nominatim Search Tool and then used the OSM Id and downloaded the .geojson polygon from this download tool. The files are very large, so to shrink them while preserving most of the structure, I used this MapShaper an OpenSource Tool. These files are included in this repo.
-
To overlay the tiles, I've used Google Map's Util SDK which has support for overlaying .geojson files. Some of the files had bad formatting, so to verify that I used this tool
-
The Indian States data I've Obtained from this API
Cholorpleth Map for Indian Provinces | Search for a province | Detail stats for Tamil Nadu |
For the Bubble Chart, I chose a scale for the radius of the circles though I need to improve upon it. As for the data, this API provides data with LatLng for a country.
Google Maps SDk for Android has a default class to overlay circles of a certain radius.
World Data | Search for a country | Detail stats for India |
And Finally, for the News Fragment. I've made use of the NewsAPI's free tier. It's a really good API to use for incorporating news in your app.
To view the article, I've made use of Google's Chrome Custom Tab.
News related to COVID-19 | Viewing of article's cource |
Other Notable libraries which were helpful are:
- Timber for logging, really good!
- JSON to Kotlin, a plugin for Android Studio, really amazing!
- Glide for image loading, highly recommended!