Seja bem vindo à seleção para a vaga de Android Developer da Sofie
Este desafio é usado para avaliar os seus quesitos técnicos.
Seu objetivo é criar um app com duas telas seguindo o modelo abaixo: uma que exibe uma listagem de tarefas e outra que adiciona itens nesta listagem de tarefas atráves de uma API.
Apenas a orientação vertical (Portrait) é necessária;
Temos o protótipo no Figma para visualizar melhor os componentes: Developer/Android
Ao acessar o link acima, clique no botão de comentário (formato de balão) para visualizar as dicas que foram deixadas em cada componente e deixe selecionado a página Android, conforme a figura abaixo
A API que realiza a listagem e a adição das tarefas se encontra publicada neste link aqui.
Dicas:
Todas as palavras que contém um sublinhado são um hiperlink que ajudará de alguma forma seu desenvolvimento deste app.
Neste link acima você encontrar a documentação da api, na guia language selecione Java - OkHttp (essa possivelmente será a sua principal biblioteca no app).
Abaixo seguem algumas informações sobre como utilizar esse serviço.
Listagem das tarefas
-
URL: https://9g1borgfz0.execute-api.sa-east-1.amazonaws.com/beta/task
-
Method: GET
-
QueryString: opcional
email[email protected]-
Response
{ tasks: [ { "_id": "372efad7-9c69-4753-bf9b-ee7741aaed0c", "description": "lorem ipsum", "email": "[email protected]", "when": "2020-04-15T15:41:49.074693", "title": "tarefa 1" }, { "_id": "15893f63-17b4-4ef3-bc69-019fda35c339", "description": "lorem ipsum", "email": "[email protected]", "when": "2020-04-15T15:39:19.126486", "title": "tarefa 2" } ] }
Adicionar nova tarefa
-
URL: https://9g1borgfz0.execute-api.sa-east-1.amazonaws.com/beta/task
-
Method: POST
-
Headers:
Content-Type: "application/json" -
Body:
{ "title": "tarefa 2", "email": "[email protected]", "description": "lorem ipsum" } -
Response
{ "success": true, "data": { "_id": "15893f63-17b4-4ef3-bc69-019fda35c339", "description": "lorem ipsum", "email": "[email protected]", "when": "2020-04-15T15:39:19.126486", "title": "tarefa 2" } }
- Versão mínima do SDK: 19;
- Utilização de bibliotecas de terceiros;
- Capricho nos tratamentos e validações dos campos;
- Tela deve ajustar em devices de resolução pequena, acima de 4 polegadas.
- Boa organização do código-fonte;
- Boas práticas de Orientação a Objetos;
- Tempo de entrega do app dentro do aceitável;
- Código limpo e de fácil manutenção.
-
Caso o upload do projeto for feito no Github, envie o link para nós por e-mail: [email protected] com cópia para [email protected]
-
Caso não tenha conta no Github, envie o zip do projeto para [email protected] com cópia para [email protected]
-
Caso tenha vindo direto neste projeto a partir do Github, por favor, preencha o formulário de candidatura neste link, para que possamos fazer o retorno do contato.
Desejamos uma boa sorte!!