GitXplorerGitXplorer
R

Desafio-Mobile2You

public
6 stars
0 forks
0 issues

Commits

List of commits on branch main.
Verified
0c8059dbabf727ad8cbac26ea4e6ece7ba36d1bc

Ajustes README - português

RRychillie committed 3 years ago
Unverified
c8de9aea1e1a48e747b9b6eeded999cd9e6e63c7

finish

RRychillie committed 3 years ago
Unverified
8b5ad73494a34175bbd0b2100af6bac02c8c6f98

Completed

RRychillie committed 3 years ago
Unverified
b96a373dba0d2c469904caa11d309263aee70758

Finished

RRychillie committed 3 years ago
Unverified
0b0179631bbaaddc790d9b150761cc446644c704

ajustes cores

RRychillie committed 3 years ago
Unverified
cdc375de4f74064e90ebb1712ace4fbcbe5db6b5

updating structure

RRychillie committed 3 years ago

README

The README file for this repository.

Desafio Mobile2You - TodoMovies

Este desafio consiste na criação de uma réplica da tela de detalhe dos filmes do aplicativo TodoMovies utilizando Swift.

Captura da tela de detalhe dos filmes. Na imagem, temos uma foto em escala de cinza do rosto do ator Johnny Depp, e os detalhes do filme O melhor de Johnny Depp

📝 Especificação

Para realizar este projeto, recebi instruções sobre os requisitos e também dicas que auxiliaram bastante no processo. Abaixo, a lista com todas as informações:

☑️ Requisitos

  1. Usar algum design pattern: MVP, MVVM, MVVM-C, VIPER
  2. As informações do filme devem vir do endpoint getMovieDetails
  3. Usar o vote_count que retorna da API para apresentar o número de likes
  4. Substituir o "3 of 10 watched" por "<popularity> views", utilizando o valor retornado da API e mantendo algum ícone ao lado
  5. O ícone de like(coração) deve mudar quando clicado, alternando entre preenchido e vazio.
  6. Deve haver uma lista de filmes abaixo dos detalhes
  7. O app deve ser desenvolvido utilizando a linguagemm Swift
  8. O projeto deve ser disponibilizado em um repositório aberto no GitHub. Envie a URL assim que possível

💡 Dicas

  1. Você pode usar o Alamofire para facilitar a sua vida (é apenas uma dica, não é obrigatório)
  2. A lista de filmes abaixo do detalhe do filme pode ser o retorno da getSimilarMovies
  3. Gostamos de Rx
  4. Testes são sempre bem-vindos
  5. Vamos olhar tudo, inclusive commits, branches, organização de pastas, etc.
  6. Um código limpo e organizado pode ser mais importante do que o app todo pronto.
  7. Vamos ler seu README, caso você queira deixar alguma mensagem para nós

📱 O projeto

Abaixo, temos o resultado final da interface da aplicação:

Captura de tela da aplicação contida neste projeto. No topo, a capa do filme 'Ready Player One'. Logo em seguida, seu título. Abaixo do título temos um ícone de coração com o contador de likes, e, ao lado, um ícone de fogo e o indicador de popularidade. Abaixo, uma lista de filmes relacionados.

Todos os requisitos foram atendidos na implementação deste projeto. O design pattern escolhido foi o MVP, os dados do filme e a lista de filmes recomendados são obtidos nos endpoints da API.

Para comunicação com a API, escolhi utilizar a biblioteca Alamofire, e implementei serviços para cada entidade(Filme e Gênero). Utilizei RxSwift nos serviços, com cada método retornando uma Observable com o tipo do seu retorno. Cada serviço foi construído como um Singleton, sem precisar criar uma instância para utilizá-lo.

⬇️ Como baixar e executar

Primeiramente, é necessário clonar o repositório. Certifique-se de quê você tem o Git instalado na sua máquina. Para obter o código-fonte, você pode utilizar o comando abaixo:

$ git clone https://github.com/rychillie/desafio-mobile2you

Feito isso, você deve abrir o projeto utilizando o Xcode.

Para conseguir construir e executar a aplicação é necessário configurar uma variável de ambiente no Xcode. Na parte superior, ao lado do nome do dispositivo simulador, clique em Mobile2You > Edit Scheme, conforme o exemplo abaixo:

Captura de tela do botão de Selecção de Esquema do XCode

Captura de tela do botão de edição de Esquema do XCode

Feito isso, uma janela irá se abrir. Certifique-se que, na lateral esquerda, a opção "Build" está selecionada. Na parte de "Environment Variables", clique no botão "+" e, no campo de nome, coloque "API_KEY", e, no campo de valor, insira a sua chave da API TheMovieDB. Para obter sua chave, clique aqui.

Captura da tela de edição de Scheme do XCode

Agora que a chave está configurada, basta executar a aplicação clicando no botão de Run:

Captura de tela do botão do botão de Run do XCode

E então a aplicação será executada na sua máquina.

🧾 Considerações

Desenvolver este projeto foi um desafio e tanto, pude aproveitar muito do conhecimento de logica que venho aprendendo e coisas simples como criação de interface com SWIFTUI.

Minha maior dificuldade tenho que dizer que foi relacionar Generos de filmes similares a suas respectivas ID's. Uma coisa que gostaria de ter feito, porem por falta de conhecimento é um efeito de Parallax no banner que quando feito scroll ele fica no fundo da listagem de filmes similares.

Devo comentar que não utilizei nenhum pacote no projeto pela falta de pratica com tais, pretendo agora com mais tempo ir conhecendo e quem sabe melhorando o código da aplicação.

Pretendo realizar updates, afim de evoluir e continuar praticando como sempre.

Agradeço a oportunidade de participar deste desafio! Quaisquer dúvidas, estou à disposição!