Proposta:
Implementar uma aplicação client-side, que consulte a API do GitHub e mostre os repositórios mais populares de um determinado usuário. Esta aplicação deve funcionar nos navegadores mais recentes do mercado.
API: https://developer.github.com/v3/
O usuário deve ter a habilidade de:
- Buscar por um usuário do GitHub;
- Ver os detalhes desse usuário que foi buscado (número de seguidores, número de seguidos, imagem do avatar, e-mail e bio);
- Ver a listagem dos repositórios desse usuário que foi buscado, ordenados pelo número decrescente de estrelas;
- Poder alterar a ordem da listagem de repositórios;
- Ver uma página com os detalhes de um repositório (nome, descrição, ,número de estrelas, linguagem e um link externo para a página do repositório no GitHub), que pode ser clicado na listagem dos repositórios;
- O layout deve ser responsivo para dispositivos com a resolução no mínimo de 320 x 480;
- É obrigatório o uso de AngularJS (1.x).
- É obrigatório o uso de rotas.
- Pré-processadores de CSS: É opcional, mas conta pontos se estiver utilizando SASS.
- Organização do projeto: Avalia a estrutura do projeto, documentação e uso de controle de versão;
- Inovação tecnológica: Avalia o uso de tecnologias mais recentes, desde que estáveis;
- Coerência: Avalia se os requisitos foram atendidos;
- Boas práticas: Avalia se o projeto segue boas práticas de desenvolvimento, incluindo segurança e otimização;
- Controle de Qualidade: Avalia se o projeto possui qualidade assegurada por testes automatizados (por exemplo Jasmine) e integração contínua (por exemplo Travis).
A performance e a adequação dos recursos serão considerados durante o processo de avaliação. Alem disso, a avaliação ocorrerá em todos os componentes do projeto (JavaScript, HTML e CSS).
As APIs a serem consumidas são:
- Detalhes de um usuário: https://api.github.com/users/{username}
- Repositórios de um usuário: https://api.github.com/users/{username}/repos
- Detalhes de um repositório: https://api.github.com/repos/{full_name}
O desafio deve ser entregue pelo GitHub. A aplicação deve estar hospedada (Heroku, Firebase, Plunker, etc) As URLs deve ser enviadas por e-mail para william.kennedy@routeasy.com.br.
Qualquer dúvida em relação ao desafio, responderemos por e-mail.
Bom trabalho!
