Jetpack Compose Pokedex
Olá a todo mundo!, esse aqui é o projeto de uma Pokedex que realizei para um desafio seguindo os passos do youtuber Philipp Lackner.
O desafio se trata de criar duas listas, uma com os pokemons utilizados através da API dos pokemons, encontrada NESSE LINK, com o objetivo de mostrar os pokemons disponíveis, onde é necessário clicarmos para acessar as informações do pokemon em específico.
E outra lista, com a opção de visualizar os pokemons salvos.
As informações do pokemon obrigatórias, são as seguintes:
● ID
● Nome
● Tipo (grass, fire, water)
● Foto
Em adicional seguindo os passos de Phillip, adicionamos também o peso, a altura e os stats do pokemon.
Especificações Técnicas
Tecnologias/Design Patterns do Desafio
● MVVM (Obrigatório)
● Room (Obrigatório)
● Ktor ou Retrofit (Obrigatório)
● Coroutine (Obrigatório)
● Jetpack Compose (Opcional)
● Injeção de Dependência (Opcional)
Dificuldades
Embora com muita pesquisa, diversas mudanças na técnologia de aplicativos da data dos vídeos de Phillip ocorreram, então muitas vezes foi necessário realizar pesquisas sobre as mudanças em si, como por exemplo as que ocorreram no framework Coil, sem contar também as mudanças de versão da versão base do projeto, e das versões atuais do Gradle, Kotlin e Hilt.
Também é valido contar sobre a dificuldade de criar a segunda lista, mesmo tentando encontrei dificuldades em utilizar o Room junto do Jetpack Compose, e decidi focar em finalizar a primeira lista, para poder trazer a função de favorito como uma feature pra as próximas etapas.
Apresentação Do Projeto
Caso queiram visualizar o projeto na prática, aqui temos 2 videos disponibilizados pela opção não listada do Youtube:
● Apresentação Do App No Celular
Como o celular não captou o som tão bem, vou detalhar o vídeo aqui. Bom, no vídeo temos a visualização do projeto a partir de sua inicialização, na qual após inicialização, temos contato com a primeira lista, demonstrando todos os pokemons da api, com foto de perfil e estilização pré-definidas através do projeto base disponibilizado aqui.
Após clicar no Pokemon escolhido, temos acesso ao id do Pokemon, ao nome, o tipo, a uma foto de perfil, peso, altura e status do pokemon.
Finalizando a primeira lista, temos uma opção para favoritar e desfavoritar o pokemon, na parte superior da tela.
● Resumo Codificação
Nesse vídeo, temos um pouco da explicação, porém utilizando o Android Studio para demonstrar os principais desafios que ocorreram durante o projeto, e também uma visão geral da etapa de codificação.
Também conto um pouco sobre os aprendizados adquiridos enquanto desenvolvi o projeto.