8000 GitHub - Limatucano/movieDB
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Limatucano/movieDB

Repository files navigation

image

Desafio Mobile2You

Utilizando a API do The Movie DB, você deverá implementar o fluxo de exibição de alguns filmes e a tela de detalhe.

Instruções para executar

  • Baixe o repositório
  • Abra o projeto no android studio
  • Abra o arquivo local.properties
  • Adicione a sua chave com a seguinte propriedade: API_KEY=sua_chave_aqui

Resultado

Screenshot_20220527_004037 2 3 Screenshot_20220527_004525

Escopo

O desafio consiste em fazer 3 telas de um app de catálogo de filmes:

  • A primeira é uma splash screen;
  • A segunda é uma tela que apresentará 4 listas com os seguintes tipos de filmes: em exibição, melhores avaliados, em breve, e mais populares;
  • A terceira tela é a tela de detalhes do filme. Para a navegação, deverá ser da seguinte forma:
  • Da splash para a tela de listas: será automático depois de um tempo exibindo o logo;
  • Da tela de listas para a tela de detalhes: será após um item (filme) ser clicado;
  • Botão voltar: Quando na tela de detalhe, deve voltar para a tela de lista, e quando na tela de lista, o app deve fechar

Layout

Você encontrará o design no Figma. Mais para o final deste documento tem algumas dicas de como usar o Figma como consulta.

Requisitos

Aqui está a lista de requisitos. A lista está na ordem do mais fácil ao mais difícil. Os items de 1 a 11 são obrigatórios. Os Requisitos são:

  • O projeto deve ser desenvolvido na versão estável mais atual do Android Studio (NÃO use versões Canary);
  • O projeto deve ser versionado usando Git;
  • Disponibilize o desafio no Github e envie o link do repositório para o recrutador ao final do desenvolvimento;
  • A versão final deve estar na branch master ou main;
  • Use Kotlin como principal linguagem;
  • A splash screen deve durar de 1,5s à 3s;
  • Para a tela de listas use os endpoints:
    • Get Now Playing;
    • Get Top Rated;
    • Get Upcoming;
    • Get Popular.
  • Para a tela de detalhes use os endpoints:
    • Get Details;
    • Get Similar Movies;
    • Get Reviews.
  • Também para a tela de detalhes:
    • O Get Details retorna a duração (atributo “runtime”) em minutos, converta para o padrão “X horas(s) Y minuto(s)”;
    • Nas reviews, faça com que a review tenha no máximo 3 linhas;
  • Os possíveis erros de api devem ser tratados e exibidos ao usuário, por toast, modal, tela dedicada a erro, etc...
  • Deve utilizar alguma arquitetura, como por exemplo: MVP, MVVM, Clean Architecture ou afins;
  • Se possível, use ViewBinding/DataBinding;
  • Se possível, use Repository Pattern;
  • Se possível, utilize programação reativa para consumo de API (Coroutines ou RxJava);
  • Se possível, use injeção de dependências, como por exemplo: Hilt, Koin ou Dagger
  • Se possível, escreva testes unitários.

Dicas

  • Não se preocupe caso não consiga concluir todos os requisitos. Nos mande o que você conseguir, visto que a ideia é que todos os requisitos sejam alcançados por candidatos de nível Pleno;
  • Avaliaremos o quão próximo as telas do app estão do design;
  • Olharemos os seus commits, escreva-os bem;
  • Também avaliamos a organização de diretórios e pacotes do seu projeto. Separe bem as responsabilidades;
  • Somos muito criteriosos em relação a nomes de variáveis, classes, métodos, arquivos e afins.
  • Fique livre caso queira acrescentar algo ao projeto, como animações, transições de telas estilizadas e afins. Porém não mude o escopo ou o design;
  • BuildSrc é bem vindo;
  • Você será melhor avaliado se aplicar bastante os fundamentos de Orientação a Objeto e Programação Funcional;
  • Tente usar os frameworks do Android Jetpack;
  • Pode usar Compose para os layouts se achar mais conveniente. Caso opte por essa opção, o requisito ViewBinding/DataBinding não é necessário;
  • Não há necessidade de mudar o appicon, mas se quiser será bem vindo;
  • Dê o nome que quiser ao app;
  • As responses dos endpoints Get Now Playing, Get Top Rated, Get Upcoming, Get Popular e Get Similar Movies são as mesmas, com isso é possível reutilizar o mesmo modelo e o mesmo adapter poupando tempo e esforço.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0