Este é um projeto pessoal com intuito de aprendizado das ferramentas Compose, Apollo (para Graphql) e Palette (Para detecção de cores e proximidade de cores). Devido a isso, ele pode NÃO SEGUIR perfeitamente o uso da arquitetura MVVM, CLEAN e SOLID.
O desenvolvimento deste projeto está temporariamente pausado enquanto termino minha tese.
Este projeto necessita que a seguinte API esteja rodando localmente utilizando o Docker.
Api: https://github.com/PokeAPI/pokeapi Necessita python 3.10, instalar os requisitos disponíveis no arquivo requirements.txt da api. Seguir o Guia da api para rodar o backend localmente.
This is a personal android app project that utilizes Apollo with the GraphQL pokeApi to fill a pokedex with Palette to get the pokemon colors.
Screenshot of the initial version
- Implement the basic pokedex feature:
- Search -
${\color{green}DONE}$
- List -
${\color{green}DONE}$ (need small layout fixes)
- Use Android Palette to get the pokemon color -
${\color{green}DONE}$
- PokemonDetails Screen -
${\color{yellow}REOPEN}$ (needs to redo the query due to the rest->graphql change)
- AbilityDetails Screen -
${\color{yellow}TODO}$
- MoveDetails Screen -
${\color{yellow}TODO}$
- Search -
- Add test libraries and start the testing -
${\color{yellow}TODO}$ (planning to use espresso and junit)
- Cleanup and improve git Readme layout -
${\color{yellow}TODO}$
- Add and configure apolloCache -
${\color{green}DONE}$
(Still needs to add local search, going to wait for the ROOM database)
- Adds error messages for communication errors -
${\color{yellow}TODO}$
- Fixes Architecture flaws -
${\color{yellow}TODO}$
- Add Room database -
${\color{yellow}TODO}$
- if possible planning to add an option to download the data locally, with option to choose to download or not the images -
${\color{yellow}TODO}$
- Check for accessibility, text-to-speak, manual tests with content readers, test colors for better contrast etc... -
${\color{yellow}TODO}$
- List with pokemons to choose -
${\color{yellow}TODO}$
- Choose skills and moves -
${\color{yellow}TODO}$
- Check type coverage -
${\color{yellow}TODO}$
- Check move type coverage -
${\color{yellow}TODO}$
- Option to filter for competitive tiers (Uber, OU, BL etc) -
${\color{yellow}TODO}$ (Needs an api with up to date data, maybe Smogon or PokemonShowdown)
- Add the filter above for pokemons, skills, moves and items -
${\color{yellow}TODO}$
- 100% test coverage -
${\color{yellow}TODO}$
- Removed retrofit and added Apollo -
${\color{green}DONE}$ - Started using PokeApi Graphql -
${\color{green}DONE}$ - Added localHost build variant -
${\color{green}DONE}$
Credits -