- When the application starts, load and show a paginated Pokemon list, obtained from the endpoint. (Show name and image for each Pokemon) DONE
- When a Pokemon is selected, show a detailed view. DONE
- Give an option to refresh the list. DONE
- Show error info if the list cannot be loaded (eg: no network) DONE
- Manage configuration changes, ideally without reloading the list. DONE
- Add an offline mechanism so the application can work even with no network. DONE
- Add some animations (fade in/fade out animations, etc) DONE
- Add an option to search for a Pokemon by name.
- Search is not implemented
- I have not done landscape designs, you get less details in landscape.
- There are some unhandled edge cases at the very end of the full list of Pokemon
- There is no modularisation at this point, but creating a modular architecture would help separate concerns and have more people working in parallel
Some good starting places for the app are here:
- https://github.com/blundell/polkiemon/tree/main/app/src/main/java/com/blundell/polkiemon
- https://github.com/blundell/polkiemon/blob/main/app/src/main/java/com/blundell/polkiemon/ui/list/ListPokemonScreen.kt
- https://github.com/blundell/polkiemon/blob/main/app/src/main/java/com/blundell/polkiemon/details/PokemonDetailsViewModel.kt
Here is the app in action
List | Details | Offline |
---|---|---|