🛵 I'm Mottu Mobile 🛵

Teste prático para desenvolvedores Mobile Mottu

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, @astraube.
  • 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.

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ÍVEL 1 - nome da branch (level_1):

  • 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);

NÍVEL 2 - nome da branch (level_2):

  • 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);

NÍVEL 3 - nome da branch (level_3):

  • 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);

Ao final de cada etapa, criar PR para a branch main e realizar o merge.

Pontos extras (opcional):

  • Utilizar Getx.
  • Configurar Firebase crashlytics.
  • Criar channel em kotlin, capturar a mudança de conexão, e mostrar uma mensagem de offline no flutter.