Objetivo do projeto é testar as habilidades do canditado na criação de aplicativos para plataforma iOS .
Estas instruções irão levá-lo a uma cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste.
O que você precisa para construir, executar e testar o aplicativo: Xcode 10.0 ou posterior.
Faça o clone do repositório em sua máquina local.
Depois será necessario a instalação das dependências com o comando:
$ pod install
Em seguida, abra o projeto no Xcode: open TesteArenaFelipePerius.xcworkspace Agora você está pronto para começar.
Nesse projeto utilizei 4 dependecias utilizando cocoaPods:
-
Utilizei o Alamofire para facilitar as requisições com API .
-
ObjectMapper para fazer o parse dos models do JSON e comecei usando codable mas resolvi usar ObjectMapper mesmo.
-
RxSwift para fazer as requisições na camada de serviço com programção reativa.
-
SDWebImage para download das urls de imagens e cache.
A Arquitetura utilizada foi a Clean Architecture VIP para mais informações segue o link com a documentação.
- Felipe Augusto Pimentel Perius
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
- Layout ajustável para diferentes telas de iPhone em portrait
- Gestão de dependências no projeto
- Framework para Comunicação com API
- Mapeamento json -> Objeto
- Testes unitários no projeto
- Testes funcionais
- Cache de Imagens
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
- Enviar um pull request pela interface do Github