This application was developed for an interview code challenge using some of me most recent android libraries and recomendations, it allows you to:
- Paginate from a list of pokemons;
- Filter the pokemon list by favorited;
- Visualize a pokemon details;
- Favorite/UnFavorte a Pokemon;
- Keeps your favorited pokemon local so you can view then anytime;
- Strong networking model that lets you keep using the application when you don't have connection;
The source of data is provided from the public API https://pokeapi.co.
Principal technologies used for the development of this project.
Technology | ABOUT |
---|---|
Kotlin | Concise programming language that fully supports Android development |
Coroutines | Powerful library for asynchronous programming |
Flow | Powerful library for asynchronous data stream an composition |
Retrofit | Type safe HTTP client library |
Room | Library provides an abstraction layer over SQLite for data persistence on mobile device |
Koin | Kotlin centric dependency injector |
MVVM | Architectural pattern used for responsibility separation |
Paging3 | New Android Architecture component for pagination |
Jetpack navigation | Android Architecture component for navigation |
Glide | Image loader library that supports caching |
GlidePallete | Android Graphics Pallete integration for Glide library |
Material Motion | Material Desing motions transformations during navigation |