- Kotlin
- Android Architecture Components - ViewModel,Livedata
- Retrofit 2.3 - For calling API
- Dagger 2 - Depedency management
- RxJava2/RxKotlin2 - For mananging API calls and data display using a reactive way
- Glide - For Image loading from Country Flags API
All components and activities/fragments are injected by Dagger at runtime , keeping an overall low-memory and CPU consumption on the target device. The app uses MVVM architecture with a single activity and a single fragment. It follows the guidelines set by Google regarding the MVVM architecture
Every flow in the application should have a single activity with multiple fragments for that flow.