Este teste está separado em 3 níveis de dificuldade. Você pode desenvolver seu teste APP atendendo apenas a um nível, ou a todos.
Para todos os níveis você deve executar algumas etapas iniciais:
- Fazer um fork deste repositório para o seu Github, de forma privada, e adicionar os usuarios
@brunosmm
,@BetoMottu
,@moreirawebmaster
,@jeanchrocha
.- Criar um projeto Flutter com a seguinte configuração de package:
com.mottu.marvel
.- Criar uma conta de desenvolvedor em
developer.marvel.com
.- Gerar uma API KEY no site de desenvolvedor da Marvel, e consumir suas respectivas API's.
- Criar um readme marcando os itens feitos.
- Buildar para plataforma iOS.
Sugestões:
- Não faça apenas um commit com toda sua implementação.
- Realize os commits em branchs separadas e utilize PRs.
- Seja criativo(a) na sua implementação.
- Não faça Ctrl+C / Ctrl+V de outro repositório !!!
- Não utilize IA para criar seu código, nós vamos perceber!!!
- Executar etapas iniciais;
- Mostrar a listagem dos personagens (imagem e nome);
- Ação de clique nos cards da listagem e exibir os detalhes (imagem, nome e descrição);
- Executar etapas iniciais;
- Guardar em cache as consultas realizadas na API Marvel;
- Mostrar a listagem dos personagens (imagem e nome);
- Criar um filtro para a listagem;
- Ação de clique nos cards da listagem e exibir os detalhes (imagem, nome, descrição e personagens relacionados);
- Executar etapas iniciais;
- Criar uma Splashscreen customizada;
- Guardar em cache as consultas realizadas na API Marvel;
- Limpar cache de consultas no fechamento do APP;
- Mostrar a listagem dos personagens (imagem e nome);
- Criar um filtro para a listagem;
- Ciar uma paginação da listagem;
- Ação de clique nos cards da listagem e exibir os detalhes (imagem, nome, descrição e personagens relacionados);
- Ação de clique nos personagens relacionados e exibir os detalhes (imagem, nome, descrição e personagens relacionados);
- Criar testes de unidade das regras de negócio;
- Utilizar Getx.
- Configurar Firebase crashlytics.
- Criar channel em kotlin, capturar a mudança de conexão, e mostrar uma mensagem de offline no flutter.
- Criar em alguma arquitetura(MVC, MVVM, MVP, MVU)