- Listagem de personagens, com lista infinita, barra de buscas, pull-to-refresh e seleção de tipo da listagem.
- Listagem de detalhes do personagem, junto com seus Comics e Series.
- Armazenamento local e gerenciamento de personagens favoritos.
- Tratamento de erros.
- Armazenamento de dados locais usando
Room
. - Acesso de elementos de View usando
View Binding
. - Navegação entre telas usando
Android Navigation
. - Uso de boas práticas do Architecture Components do Android em geral.
- Implementação de injeção de dependências usando
Koin
. - Código escrito buscando manter as melhores práticas de Clean Code.
- Cobertura de teste unitário nas View Models e Repositorios, usando
Mockk
eJUnit
.
-
A arquitetura do APP foi construita baseada em alguns conceitos do Clean Architecture, porém não implementa todos seus detalhes. A arquitetura implementada consiste em 3 camadas, data (infraesturura, comunicação com APIs, etc.), domain (regras de negocio e definição de contatos) e presentation (parte de visualização do aplicativo).
-
O aplicativo usa MVVM como Pattern para camada de apresentação, conforme recomendação do próprio Google.
As seguintes bibliotecas e frameworks foram usadas na construção do projeto: