🎥
📼
Desafio - Filmes O desafio consistia em criar um app que se assemelhasse a tela de informações do filme do app TodoMovies.
Para obter as informações sobres os filmes, foi pedido que utilize a api do site [The Movie Database](API Docs (themoviedb.org))
Requisitos do projeto
- Usar alguma arquitetura : Clean + MVVM .
- Receber as informações através do endpoint getMovieDetails.
- Usar o vote_count que retorna da API para representar o número de likes.
- Substituir o “3 of 10 watched” por “ views”, utilizando o valor retornado da API e mantendo algum ícone ao lado.
- O ícone de like (coração) deve mudar quando clicado, alternando entre preenchido e vazio.
- Deve haver uma lista de filmes abaixo dos detalhes.
- O app deve ser desenvolvido utilizando a linguagem Kotlin.
- O projeto deve ser disponibilizado em um repositório aberto no GitHub. Envie a URL assim que possível.
Tecnologias utilizadas
- CoordinatorLayout + CollapsingToolbarLayout para exibir o cartaz de cada filme.
-
Injeção de dependências com Koin.
-
Retrofit para requisições da API.
-
RecyclerView com ListAdapter para exibição de listas.
Resultado
Acesse aqui o link para o vídeo no youtube, contendo o resultado final do app:
Estou bem satisfeito com o resultado final, consegui fazer a maioria do que pretendia fazer desde o começo do projeto, com mais tempo gostaria de aprender a usar o DataStore para cachear alguma informações da api em que utilizei enums, como Lista de Gêneros de filmes, e configurações para a exibição de imagens, assim também como uma sessão que mostrassem o diretor e diretores envolvidos em cada filme.
Consegui também adicionar funções que não foram solicitadas, como conseguir carregar os filmes da lista de similares, e utilizar tela de carregamentos. Mas gostaria mesmo de ter utilizado o Jetpack Navigation para fazer pelo menos mais uma tela, para pesquisa de filmes pelo nome, utilizando o endpoint search/movie.