O PopMovies foi construído utilizando a API do TheMovies DB (https://www.themoviedb.org/). Dentre as funcionalidades do APP temos:
- Listagem de filmes populares
- Listagem de filmes favoritos
- Listagem de filmes por gênero
- Tela de detalhes do filme selecionado e listagem de filmes similares a ele
- Dark-Mode
- Filtro de filme por título
Essa aplicação foi desenvolvida com Swift 5.5.2 no Xcode 13.2.1 e o iOS mínimo é o 15.2 - utilizei de versões mais antigas das ferramentas, pois minha máquina não é capaz de dar suporte as mais atualizadas.
- Para a construção do layout empreguei ViewCode e o Tiny Constraints para auxílio;
- Para realizar o download das imagens e manter um placeholder utilizei o KingFisher;
- Para persistência dos filmes favoritos fiz uso do CoreData;
- Desenvolvi, para as rotas da aplicação, coordinators responsáveis por administrar o fluxo de telas;
- Para esse projeto, optei pela arquitetura MVVM;
- Escrevi testes unitários para as funções do CoreData por meio de um Container Mock;
- Há também testes unitários para camada de Service, garantindo inclusive a coerência da model;
- Utilizei de métodos genéricos em meu Service, para ter a flexibilidade de utilizar o mesmo método para diversas requisições;
- Ademais, apliquei conceitos como: injeção de dependência, componentes, protocolos e paginação
Primeiramente, buscar a URL do projeto aqui no GitHub:
O segundo passo é abrir um terminal na pasta que deseja salvar o projeto e realizar um git clone:
git clone https://github.com/angelavbalves/PopMovies.git
Após esse passo, abrir o projeto no Xcode e realizar a build.