Projeto inspirado no desafio 7DaysOfCode proposto pela Giovanna Moeller
. O desafio consiste em fazer uma pequena aplicação em 7 dias.
O PopularMovies é um aplicativo simples que contém uma lista dos filmes mais populares e com possibilidade de ver mais detalhes do filme selecionado.
A API utilizada para a consulta desses filmes foi a TheMovieDB
- A arquiterura escolhida foi a VIP + Coordinator para a navegação entre as telas.
- Na parte de Network resolvi utilizar o
async await
do swift para facilitar as chamadas de rede e dimunir o uso de callbacks (closusres
) - Para gerar o projeto escolhi o
Tuist
. Além de ser uma ferramenta simples os arquivos são escritos em.swift
facilitando o entendimento de quem já conhece a linguagem.
- XCode 14
- Tuist 3.15.0
- Swift 5.7
Para rodar
o projeto é necessário instalar o Mise
e o Tuist
Rodar o comando abaixo no terminal na raiz do projeto
tuist generate
Com tudo instalado basta criar um arquivo chamado Constants.swift
e adicionar uma variávem estática chamada apiKey
, exemplo:
enum Constants {
static let apiKey = "SUA_API_KEY"
}
Hoje eu faria pequenas melhorias no projeto como:
- O melhor lugar para salvar e utilizar a APIKey da
TheMovieDB
- Separar melhor as funcionalidades/core em módulos como
- Um módulo para
Network
para reaproveitar em outros projetos - Quem sabe um módulo
shared
com pequenas funcionalidades que poderiam ser utilizados em outros módulos - Separar as funcionalidades de
Home
eDetail
em um módulo a parte - O App principal ser apenas uma casca que monta os módulos conforme a necessidade
- Criar testes unitários restantes
- Um módulo para
Como o projeto PopularMovies
não contém todos os testes, abaixo vou listar alguns repositórios mais antigos com testes: