This is a demonstration Android app to get information from the RestCountries API and display details of each nation of the world in a beautiful and easy way.
Splash, List and Details view.
The app makes use of the Architecture Components of the Android Jetpack libraries. The design is based in MVVM Pattern and reactive programming.
With this architecture strongly guarantees SoC and using DI principle the integration of different parts is easier and clean.
To persist data the Room library is implemented, giving the app cohesion and stability.
With Data Binding and View Binding the codebase follows the SRP as the views are only responsible of visualization while the data transformations and business logic runs in the View Models.
For the UI a simple approach was conceived using Material Design based components and basic animations and transitions.
- Config resources and gradle files.
- Setting fragments and viewmodel.
- Prepare Bindings and Navigation.
- Setup API client with logger.
- Handle data from API.
- Visualize details.
- Improve performance.
- Internationalization.
- Handle errors.
- RTL Languages.
- Filters.
- Caching.
- Hilt DI.
- Animations.
- Splash.
- Google Map.
- Share link.
- UI tests.
- UnitTests implemented on demand for each task.


