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,
@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.
- 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 !!!
Para rodar este aplicativo, é necessário configurar um arquivo .env
na raiz do projeto com as chaves da API da Marvel. Siga as instruções abaixo para configurar o ambiente:
-
Crie um arquivo chamado
.env
na raiz do projeto. -
Adicione as seguintes linhas ao arquivo
.env
com suas chaves da API da Marvel:MARVEL_PUBLIC_KEY=<SUA_MARVEL_PUBLIC_KEY> MARVEL_PRIVATE_KEY=<SUA_MARVEL_PRIVATE_KEY>
-
Instale as dependências do projeto:
flutter pub get
-
Execute o aplicativo:
flutter run
- Execute o comando:
flutter test
- ✔️ 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);
Ao final de cada etapa, criar PR para a branch main e realizar o merge.
- ✔️ Utilizar Getx.
- ✔️ Configurar Firebase crashlytics.
- ✔️ Criar channel em kotlin, capturar a mudança de conexão, e mostrar uma mensagem de offline no flutter.