https://github.com/ahmad-hamwi/medicus-task
A simple Android task demonstrating a couple of technologies in-demand: Clean Architecture, MVVM, Kotlin Flows, Coroutines, Error handling and more..
https://github.com/ahmad-hamwi/medicus-task
android clean-architecture coroutines hilt-android kotlin kotlin-flow
Last synced: 8 months ago
JSON representation
A simple Android task demonstrating a couple of technologies in-demand: Clean Architecture, MVVM, Kotlin Flows, Coroutines, Error handling and more..
- Host: GitHub
- URL: https://github.com/ahmad-hamwi/medicus-task
- Owner: Ahmad-Hamwi
- Created: 2021-07-05T15:04:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-18T10:01:03.000Z (almost 4 years ago)
- Last Synced: 2025-01-06T10:11:12.135Z (9 months ago)
- Topics: android, clean-architecture, coroutines, hilt-android, kotlin, kotlin-flow
- Language: Kotlin
- Homepage:
- Size: 149 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## A simple, android task demonstrating couple of technologies in-demand.
The task requires fetching for data from an api, showing the data in a list, navigation, multi themeing, error handling, animations, and more.
## Technologies used:
- Clean Architecture (As described in the [`Uncle's Bob Blog Post`](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)).
- Depenedency Injection using [`Dagger Hilt`](https://developer.android.com/training/dependency-injection/hilt-android).
- Repository with Datasources pattern.
- MVVM using [`Android ViewModel`](https://developer.android.com/topic/libraries/architecture/viewmodel) and [`LiveData`](https://developer.android.com/topic/libraries/architecture/livedata) for data lifecycle-aware observation.
- Kotlin [`Flow`](https://developer.android.com/kotlin/flow) and Kotlin [`Coroutines`](https://developer.android.com/kotlin/coroutines) for data streaming, asynchronous programming with error handling.
- [`ViewBinding`](https://developer.android.com/topic/libraries/view-binding) and [`DataBinding`](https://developer.android.com/topic/libraries/data-binding) for data integration with customized UI.