covid-suburb-australia
The app is aiming to help people in Australia keeping safe from COVID-19.
By choosing your currently living suburb and following your most visit suburbs, you may closely being kept updated about new cases every day in these suburbs.
Interest points in terms of Modern Android Development(MAD) skills:
- Android Jetpack: Compose
- Jetpack Compose Theming and dark mode ready
- Splash screen (for Android 12/previous versions)
- Android Jetpack: Navigation
- Android Jetpack: Room
- Hilt
- OkHttp + Retrofit
- Kotlin Coroutines
The architecture of the App would use MVVM, with layers:
- View
- View Model
- Data(Repository/Data Source)
How data flows to ui?
In this project, I am using a best practice so far recommended from Google samples.
Data layer(repository) implements sequential functions and returns data wrapped by a Resource type.
ViewModel implements sequential functions too and post these wrapped data to ui via LiveData.
Benefits are:
-
Wrapped data are stateful, mapping different ui states easily(loading, success, error etc.)
-
In ViewModel, ui triggers use case alike behaviours easily.
Dashboard
MapView
Settings
COVID-19 data is coming from NSW government website:
Site Analytics | Usage By Dataset
NSW COVID-19 cases by location and likely source of infection
Related projects
backend project repository: hongwei-bai/covid-application-service
Authentication service(backend) repository: hongwei-bai/application-service-authentication
Stay safe!