Criar um aplicativo de consulta a API do GitHub#
Criar um aplicativo para consultar a API do GitHub e trazer os repositórios mais populares de Java. Basear-se no mockup fornecido:
- Lista de repositórios. Exemplo de chamada na API:
https://api.github.com/search/repositories?q=language:Java&sort=stars&page=1
- Paginação na tela de lista, com endless scroll / scroll infinito (incrementando o parâmetro
page
). - Cada repositório deve exibir Nome do repositório, Descrição do Repositório, Nome / Foto do autor, Número de Stars, Número de Forks
- Ao tocar em um item, deve levar a lista de Pull Requests do repositório
- Paginação na tela de lista, com endless scroll / scroll infinito (incrementando o parâmetro
- Pull Requests de um repositório. Exemplo de chamada na API:
https://api.github.com/repos/<criador>/<repositório>/pulls
- Cada item da lista deve exibir Nome / Foto do autor do PR, Título do PR, Data do PR e Body do PR
- Ao tocar em um item, deve abrir no browser a página do Pull Request em questão
- Versão mínima do iOS : 8.*
- Arquivo .gitignore
- Usar Storyboard e Autolayout
- Gestão de dependências no projeto. Ex: Cocoapods
- Framework para Comunicação com API. Ex: AFNetwork
- Mapeamento json -> Objeto . Ex: Mantle
- Testes unitários no projeto. Ex: XCTests / Specta + Expecta
- Testes funcionais. Ex: KIF
- App Universal , Ipad | Iphone | Landscape | Portrait (Size Classes)
- Cache de Imagens. Ex SDWebImage
As sugestões de bibliotecas fornecidas são só um guideline, sintam-se a vontade para usar diferentes e nos surpreenderem. O importante de fato é que os objetivos macros sejam atingidos. =)
A foto do mockup é meramente ilustrativa.
O candidato deverá implementar a solução e enviar um pull request para este repositório com a solução.
O processo de Pull Request funciona da seguinte maneira:
- Candidato fará um fork desse repositório (não irá clonar direto!)
- Fará seu projeto nesse fork.
- Commitará e subirá as alterações para o SEU fork.
- Pela interface do Bitbucket, irá enviar um Pull Request.
Se possível deixar o fork público para facilitar a inspeção do código.
Não se deve tentar fazer o PUSH diretamente para ESTE repositório!