Parabéns, você passou para a segunda fase do processo seletivo da MáximaTech para desenvolvedor Android.
- Criar um fork deste repositório, transformar ele em privado, adicionar o nosso usuário (talentosmaxima) como colaborador e implementar o aplicativo conforme instruções abaixo.
- Arquivos de design e mockups estão contidos nos itens 3.0 a 3.2.
- Enviar um e-mail para talentoshumanos@maximatech.com.br com:
- Assunto "[Teste Desenvolvedor Android] - Nome do candidato"
- Link: -> Repositório privado no Github.
- Um aplicativo Android que faça:
- Splash
- Menu principal
- No menu principal ao tocar na opção Clientes direcionar para a tela Dados do cliente
- Dados do cliente
-
O botão Verificar status do cliente tem que exibir numa Toast ou snackbar o status do cliente com a data e hora (tela 3.1)
-
O BottomNavigationView deve permitir alternar entre as telas de Histórico de pedidos, Alvarás ou Dados do Cliente
-
Histórico de pedidos
- O menu deve abrir a opção de legendas (tela 3.3)
- A pesquisa deve abrir o campo de pesquisa textual
-
Alvarás
- A seta da toolbar deve voltar voltar para a tela anterior
-
O aplicativo deverá:
- Reproduzir a interface definida no layout fornecido
- Consumir o json (clientes.json) por meio de uma requisição http para exibir os dados dos clientes
- Consumir o json (pedidos.json) por meio de uma requisição http para listagem de histórico de pedidos
- Salvar os dados em um banco de dados e usar para exibir mesmo offline.
Itens Opcionais:
- A seta da toolbar deve voltar para o menu principal
- Snackbar de status
- Dados do cliente
- Histórico de pedidos
- A seta da toolbar deve voltar para a tela anterior
- Menu legendas
- O menu Legendas deve abrir o Dialog com as legendas (tela 3.4)
- Dialog Legendas
- Botão Fechar deve fechar o Dialog
- Histórico de pedidos
- Testes unitários e de interfaces
- Criação de Serviços em Background (Sugestões: WorkManager, JobScheduler, AlarmManager)
- Desenvolver um serviço em background que cria uma notificação que avisa o usuário a cada 15 minutos para entrar no aplicativo. Ao clicar na notificação o aplicativo deverá ser aberto.
A tela abaixo possui o botão Verificar status do cliente que é responsável por enviar uma requisição GET para o endpoint informado no item 4.0, para retornar o status do cliente.
Quando o usuário clicar no botão em questão deve-se consultar o status que está armazenado no arquivo json e retornar o texto Data/Hora - Status cliente, por exemplo, 10/09/2018 - Status ativo
A persistencia de dados tem como objetivo permitir que os dados estejam disponíveis de maneira OFFLINE, bastando que uma primeira conexão seja realizada.
O app deve possuir um CRUD para os dados de Cliente, Contatos e Histórico de pedidos. (Dica: Seria interessante estabelecer um relacionamento entre Cliente e Contatos.)
Importante salientar que tudo que você enviar será avaliado e valorizamos muito a implementação dos itens opcionais.
Todo material pertinente para reproduzir as telas está na pasta ./Design, recomendamos dar uma olhada no arquivo ./Design/Protótipo maxApp.xd para verificar dimensões, bordas, cores, estilos e tamanhos corretos.
*o Adobe XD é um app pago, mas tem versão free https://www.adobe.com/br/products/xd.html
Os JSONs utilizados nessa avaliação estão hospedados e você pode ver mais informações pelo link https://maximatech.docs.apiary.io.
- Organização do projeto
- Utilização de padrões arquiteturais
- Clareza do código
- Escolha de estruturas e bibliotecas
- Ausência de crashs e bugs
- Detalhes de UI
- Linguagem de programação
Entre em contato com talentoshumanos@maximatech.com.br