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.
- 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)
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
backend project repository: hongwei-bai/covid-application-service
Authentication service(backend) repository: hongwei-bai/application-service-authentication
Stay safe!