Pokédex app developed on top of the pokeapi.co REST API, with Retrofit, Room, Palette, Glide, Coroutines, Hilt and more, in MVVM architecture.
Persistence library
Network requests
Pagination of fetched data
Concurrency tasks
Dependency injection
Loading online images
Custom and dynamic collor settings for views based on images
Json parsing and converting
For passing basic data between fragments on navigation.
Custom view developed by skydoves (from whom I also got inspiration for the detail screen layout).
Recycler Views, Bottom Navigation, Swipe to Delete (with undo snackbar), Database Type Converters for Room, LiveData
This app was developed on top of the pokeapi.co free to use pokemon data REST Api.
Basic MVVM architecture with repository. Remote mediation for detail screen was handled within the viewmodel itself; dependencies were injected with Hilt; each fragment has it's own viewmodel and some navigation dependent logic was implemented on the MainActivity itself.
There's still room for improvement as always but it works (:
-Handling no network response on main pokedex screen (some message, retry button, etc); for now it just stays blank in case of no internet connection.
-The main pokedex screen items constraints and sizes have to be fixed, it gets messed up on some devices.
-I might need to refactor some functions for setting view colors due to low compatibility (there might be problems running the app on API Levels 27 or lower, which is not a good number given the current distribution statistics).
-Adding loadstate listeners for fragments with circular progressbar.
-Adding comments on code for clarity and educational purposes.