Bem-vindo ao teste prático para os candidatos ao cargo de desenvolvedor flutter no GB.
Nosso objetivo com este passo do processo de recrutamento é conhecer melhor as suas habilidades técnicas.
Com isso, selecionamos um desafio para você que irá prepará-lo melhor para enfrentar o nosso dia a dia.
Gostaríamos nos entregasse uma aplicação utilizando a api do GITHUB https://developer.github.com/v3/ consumindo os seguintes endpoints:
Endpoint user: https://api.github.com/users/USER_GITHUB Endpoint repos: https://api.github.com/users/USER_GITHUB/repos Endpoint starred: https://api.github.com/users/USER_GITHUB/starred{/owner}{/repo}
1 - O campo de busca.
2 - Visualização de resultados.
3 - Dois botões para executar um determinado resultado ex: botão repositorio; botão de starred.
1 - Ao clicar nos botões de repos e starred, deverá mostrar uma lista simples de cada endpoint apresentado anteriormente.
2 - Dado um determinado usuário, deverá ser possível navegar diretamente até a página de detalhe do usuário sem que seja necessário efetuar uma nova busca.
3 - Gostariamos de pesquisar por usuario.
4 - Gostariamos de ao clicar no botão de repos, listar repositorios do usuario pesquisado.
5 - Gostariamos de ao clicar no botão de starred, listar os repositorios mais visitados por aquele usuario.
6 - Você poderá usar o framework flutter UI ou Materialize para construção dos componentes (Se preferir, os componentes poderão ser criados do zero, utilizando as boas práticas: reutilização, acessibilidade e performance).
7 - Gostariamos que pudesse fazer testes unitarios na aplicação.
1 - Flutter
Na página do campo de busca, deverá ser possível inserir nomes de usuários do github, repositórios e os mais visitados pelos os usuários.
A avaliação será feita da seguinte forma:
1 - Vamos analisar e compilar o seu código;
2 - Rodar sua aplicação e executar testes para validar o atendimento funcional dos itens acima;
3 - Verificar se o seu código é limpo (Clean Code), fácil de entender e de dar manutenção;
4 - Durante entrevista, simularemos uma revisão do seu código, percorremos o código junto com você para discutirmos sobre suas decisões de implementação, os pontos positivos e negativos;
Tenha em mente que o seu avaliador irá executar o código antes de falar com você;
Procure fazer uma entrega simples mas consistente, usando a experiência e conhecimento adquiridos durante sua carreira;
Não se preocupe em entregar algo extremamente completo ou rebuscado, não vamos usar este código em produção;
Tudo será avaliado, dê o seu melhor!