Este aplicativo consome uma API com os filmes mais aclamados da atualidade e exibe essas informações aos usuários. A intenção é demonstrar o uso da Arquitetura Clean e de Swift 4.2 para estruturação de layout adaptável a diversas dimensões de tela e orientação de dispositivo, chamadas a API REST com biblioteca Alamofire, lida com imagens e cache pela lib AlamofireImages, persistência do modelo de dados com Realm, suporte a sistemas to antigos quanto iOS 8.0, testes de unidade, de interface e localização do idioma para PT-BR.
- Compila sem erros e nem warnings
- Checa se tem conexão com internet
- Caso haja falha na request, avisa a falha
- Cache de imagens utilizando o Pod AlamofireImages
- Scroll infinito na collection view
- Suporta versão mínima do iOS: 8.0
- Usa um arquivo .gitignore no seu repositório.
- Usa Storyboard e Autolayout (suporta todas as telas de iPhones)
- Suporta orientações Portrait/Landscape.
- Usa CocoaPods
- Usa Alamofire para networking
- Faz parse de JSON -> Objeto
- Clean-Architecture
- Localização do app para pt-BR (Base English)
- Testes unitários com mocks utilizando XCTest Framework
- Testes funcionais de interface utilizando XCTest
- Apresenta bom desempenho de memória e processamento (testes com Instruments)
- Documentação em código e versionamento seguindo boas práticas
- Interface deslizável (scrolls) deixando app mais fluido em todas as telas
- Baixe ou clone o projeto em um diretório do sistema MacOS
- Abra o arquivo Movies.xcworkspace com o Xcode
- Certifique de que o
scheme
selecionado é Movies - Aperte o botão de
Run
do Xcode para rodar o app em um dispositivo ou simulador com iOS 8.0+
Obs: Não deve ser necessário rodar o comando pod install
pois os Pods estão armazenados junto com este repositório e estarão pré-configurados
Se a linguagem utilizada para rodar o app for português-BR o app ser apresentado em português (inclusive imagens e títulos dos filmes), do contrário, estará em inglês.
- É possivel definir o idioma em que o app rodará editando-se o
Scheme
, ao lado do botão deRun
- É possivel definir o idioma em que o app rodará trocando-se o idioma do sistema, nas Settings do iOS
- O APP tem 3 telas e consome a API do themoviedb
- A primeira tela em uma tab que lista todos os filmes da base de dados num scroll infinito e possui na segunda aba mostra apenas os filmes favoritos do usuário numa lista persistente do dispositivo.
- É necessário rodar os testes em um iOS 9+
- Abra o projeto no Xcode utilizando os passos acima
- Acesse o
Navegador de Testes
do Xcode (CMD + 6) - Aperte o botão de
Play
na frente do testes mostrados no navegador de teste