Skip to content

Small project using Hilt, Retrofit, okhttp, compose and navigation. The app reaches for the pokeApi.

Notifications You must be signed in to change notification settings

GustavoEliseu/MyPokedexApp

Repository files navigation

Pokedex completa

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.

Complete Pokemon Pokedex

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

Part 1 - Pokedex

Testing features that i never used so expect a messy code on this part

  • 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}$
  • 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)

Part 2 - Offline first and improvements

  • 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}$

Part 3 - Mount your own team

  • 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}$

Bonus - Better version of mount your team

  • 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}$

major changes:

  • Removed retrofit and added Apollo - ${\color{green}DONE}$
  • Started using PokeApi Graphql - ${\color{green}DONE}$
  • Added localHost build variant - ${\color{green}DONE}$

Credits - ${\color{yellow}TODO}$

About

Small project using Hilt, Retrofit, okhttp, compose and navigation. The app reaches for the pokeApi.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages