Introdução • Case • Recursos • Telas • Diferenciais • Instruções de Entrega
Este é um desafio para testar seus conhecimentos em desenvolvimento Mobile;
O objetivo é avaliar a sua forma de estruturação e autonomia em decisões para construir algo escalável utilizando um framework moderno. Você deverá usar React Native no desenvolvimento da solução deste tech challenge.
As instruções de entrega e apresentação do challenge estão no final deste Readme ⬇️
A empresa Pharma Inc, está trabalhando em um projeto em colaboração com sua base de clientes para facilitar a gestão e visualização da informação dos seus pacientes de maneira simples e objetiva em uma aplicação onde podem listar, filtrar, favoritar e expandir os dados disponíveis. O seu objetivo nesse projeto, é trabalhar no desenvolvimento da Aplicação end que consumirá a API da empresa Pharma Inc seguindo os requisitos propostos neste desafio.
- Estudar a documentação da REST API: https://randomuser.me/documentation
- Trabalhar em um FORK deste repositório em seu usuário ou utilizar um repositório em seu github pessoal (não esqueça de colocar no readme a referência a este challenge);
- Logo da Marca: Pharma Inc
- Cores para trabalhar no Projeto: UI Colors
- Wireframe com as 4 telas principais.
A tela inicial do projeto será um lista de pacientes que deverá conter um buscador para facilitar filtrar todos os que são exibidos na lista, proposta:
Para obter os dados, utilizaremos a API do Random User:
Exemplo da resposta:
{
"results": [
{
"gender": "female",
"name": {
"title": "Ms",
"first": "Alea",
"last": "Christoffersen"
}
}
],
"info": {
"seed": "2f10116f1799d353",
"results": 1,
"page": 1,
"version": "1.3"
}
}
Além de realizar a request, devemos aplicar alguns filtros na API:
- Limitar em 50 resultados por request
- Utilizar um
Activity Indicator
para indicar que estamos carregando mais dados da API
Para expandir a informação dos pacientes, teremos que adicionar o card como clicavél. Seguir o modelo proposto para o modal:
Devemos exibir os seguintes campos do paciente:
- Imagem
- Nome completo
- Gênero
- Data de nascimento
- Telefone
- Nacionalidade
- Endereço
- ID (Número de identificação)
No final do modal devemos ter botão para favoritar o paciente selecionado.
A tela de favoritos será uma lista com os pacientes adicionados aos favoritos, proposta:
Os dados exibidos na lista de pacientes favoritados deve ser os mesmos que a tela inicial.
Além do desafio proposto com as três telas, temos alguns diferenciais:
- Splash Screen;
- Utilizar Typescript;
- Componentização das interfaces;
- Poder remover pacientes da lista de favoritos;
- Configurar o buscador para poder filtrar por nacionalidade, gênero ou idade;
- Escrever Unit Tests na Lista de Pacientes. Escolher a melhor abordagem e biblioteca;
Você tera uma semana para entregar esse tech challenge.
- Deve conter o título do projeto
- Uma descrição sobre o projeto em frase
- Deve conter uma lista com linguagem, framework e/ou tecnologias usadas
- Como instalar e usar o projeto (instruções)
- Nãoesqueça o
.gitignore
- Confira se você respondeu o Scorecard da Vaga que chegou no seu email;
- Confira se você respondeu o Mapeamento Comportamental que chegou no seu email;
- Acesse: https://coodesh.com/challenges/review;
- Adicione o repositório com a sua solução;
- Grave um vídeo, utilizando o botão na tela de solicitar revisão da Coodesh, com no máximo 5 minutos, com a apresentação do seu projeto. Foque em pontos obrigatórios e diferenciais quando for apresentar.
- Adicione o link da apresentação do seu projeto no
README.md
. - Verifique se o Readme está bom e faça o commit final em seu repositório;
- Confira a vaga desejada;
- Envie e aguarde as instruções para seguir no processo. Sucesso e boa sorte. =)