└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Desafio Front-End da Concrete Solutions 2 | 3 | **Proposta:** 4 | 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. 5 | 6 | **API**: [https://developer.github.com/v3/](https://developer.github.com/v3/) 7 | 8 | ### **Requisitos** ### 9 | 10 | * Eu, como usuário, desejo buscar por um usuário do GitHub; 11 | * Eu, como usuário, desejo ver os detalhes desse usuário que foi buscado (número de seguidores, número de seguidos, imagem do avatar, e-mail e bio); 12 | * Eu, como usuário, desejo ver a listagem dos repositórios desse usuário que foi buscado, ordenados pelo número decrescente de estrelas; 13 | * Eu, como usuário, desejo poder alterar a ordem da listagem de repositórios; 14 | * Eu, como usuário, desejo 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; 15 | 16 | ### **Definição de Pronto** ### 17 | 18 | * O layout deve ser responsivo para dispositivos com a resolução no mínimo de 320 x 480; 19 | * Não é obrigatório o uso de um framework, mas recomendamos [React.js](https://facebook.github.io/react/), [Angular](https://angular.io/) ou [Vue.js](https://vuejs.org/). 20 | * É obrigatório o uso de rotas. 21 | 22 | ### **Critérios de Avaliação** ### 23 | 24 | * Organização do projeto: Avalia a estrutura do projeto, documentação e uso de controle de versão; 25 | * Inovação tecnológica: Avalia o uso de tecnologias mais recentes, desde que estáveis; 26 | * Coerência: Avalia se os requisitos foram atendidos; 27 | * Boas práticas: Avalia se o projeto segue boas práticas de desenvolvimento, incluindo segurança e otimização; 28 | * Controle de Qualidade: Avalia se o projeto possui qualidade assegurada por testes automatizados (por exemplo [Jasmine](http://jasmine.github.io/)) e integração contínua (por exemplo [Travis](http://travis-ci.org/)). 29 | 30 | ### **Observação** ### 31 | 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). 32 | 33 | As APIs a serem consumidas são: 34 | * Detalhes de um usuário: [https://api.github.com/users/{username}](https://api.github.com/users/{username}) 35 | * Repositórios de um usuário: [https://api.github.com/users/{username}/repos](https://api.github.com/users/{username}/repos) 36 | * Detalhes de um repositório: [https://api.github.com/repos/{full_name}](https://api.github.com/repos/{full_name}) 37 | 38 | ### **Processo de submissão** ### 39 | 40 | O desafio deve ser entregue pelo [GitHub](http://github.com/). A aplicação deve estar hospedada ([Heroku](https://www.heroku.com/), [Firebase](https://www.firebase.com/), [Plunker](https://plnkr.co/), etc) As URLs deve ser enviada por email. 41 | 42 | Qualquer dúvida em relação ao desafio, responderemos por e-mail. 43 | 44 | Bom trabalho! 45 | --------------------------------------------------------------------------------