O objetivo deste desafio é principalmente conhecermos um pouco mais de você que se candidatou para a nossa vaga de Mobile Developer Flutter.
É importante ressaltar que solução do desafio não tem um gabarito. Vamos verificar as técnicas que utilizaram para a criação do serviço, como vocês encaram este desafio e também, claro, a entrega da solução.
As regras e os requisitos técnicos estão detalhadas abaixo, boa sorte!
Time Obi.Tec
- Linguagem: Dart
- UI: Flutter
- Gerenciamento de estado: Provider ou GetX (opcional)
- Idioma de escrita do código: Inglês
Considere que para o módulo de filmes do Aplicativo Obi Tec, será desenvolvido um funcionalidade com o intuito de apresentar os filmes disponíveis atualmente. O desafio consiste em criar uma aplicação para a listagem de filmes e a possibilidade de visualizar mais informações sobre o mesmo, atendendo aos critérios mínimos de aceitação.
Para obter os dados necessários para a implementação do aplicativo, será necessário a utilização do Movie Database API disponível publicamente.
Para isso, inicialmente é necessário a implementação do serviço para obter um token de autenticação para efetuar as requests subsequentes.
Com posse do token, é possível realizar a request para listar os filmes.
- Sendo um usuário da Plataforma Obi Tec
- Quero listar os filmes da Plataforma
- Para que seja possível visualizar informações adicionais do filme e assistir o trailer.
- Dado que estou na Plataforma Obi Tec
- Quando clico no ícone do AppBar 'Filmes'
- Então abre a tela de listagem de filmes
- E exibe lista dos filmes
- E para cada registro exibe o thumbnail e o título do filme
- E exibe um ícone para visualizar mais informações
- Dado que estou na listagem de filmes
- Quando clico no ícone de visualizar informações
- Então abre a tela de visualização do filme
- E exibe um player de vídeo com o trailer do filme, título, sinopse, avaliação dos usuários
- E exibe uma opção para favoritar o filme
- Dado que estou na tela de visualização do filme e que o filme não esta favoritado
- Quando clico no ícone de favoritar
- Então o filme é adicionado na minha lista de desejos
- E retorna mensagem de sucesso
- Dado que estou na tela de visualização do filme e que o filme está favoritado
- Quando clico no icone de desfavoritar
- Então o filme é removido na minha lista de desejos
- E retorna mensagem de sucesso
- Dado que estou na Plataforma Obi Tec
- Quando clico no ícone do AppBar 'Lista de Desejos'
- Então abre a tela com a listagem dos filmes favoritados
- E exibe a thumbnail e título do filme
- E exibe uma opção para visualizar mais informações sobre o filme
- Implementação do AppBar
- Gerenciamento de estado para a lista de desejos
- Manter a lista de desejos mesmo após o fechamento do aplicativo
- Documentação da arquitetura de solução
- Qualidade de escrita do código
- Organização e estrutura do projeto
- Lógica da solução implementada
- Utilização do Git (quantidade e descrição dos commits, Git Flow, ...)
- Funcionalidades extras
- Crie um fork do repositório no seu GitHub
- Faça o push do código desenvolvido no seu Github
- Inclua um README.md explicando como rodar o projeto
- Inclua um arquivo chamado COMMENTS.md explicando
- Decisão da arquitetura utilizada
- Lista de bibliotecas de terceiros utilizadas
- O que você melhoraria se tivesse mais tempo
- Quais requisitos obrigatórios que não foram entregues (se houver)
- Informe ao recrutador quando concluir o desafio junto com o link do repositório
- Após revisão do projeto junto com a equipe de desenvolvimento deixe seu repositório privado