Como parte do processo seletivo, usaremos este desafio para avaliar suas habilidades com os requisitos da vaga.
- Faça um fork deste projeto em sua conta no Github (crie uma se você não possuir).
- Em seguida, desenvolva o projeto conforme os telas da pasta layouts em seu próprio fork.
- Por fim, envie todo o código para o seu fork no Github e envie um pull request para este repositório original.
Nosso desafio consiste em implementar uma aplicação client-side que consulte a API e retorne os dados para serem mostrados no painel.
O usuário deverá ser capaz de realizar uma busca consumindo os dados da API como mostrado nos layouts fornecidos.
Caso enfrente problemas de CORS, utilize a extensão CORS do Chrome
https://desafio.eadplataforma.com/api/1?token=seu_token
GET /api/1/users?token=seu_token
{
"total": 2,
"limit": 10,
"offset": 0,
"rows": 2,
"users": [
{
"id": "1",
"name": "Ronaldo Abreu",
"email": "[email protected]",
"phone": "(14) 99745-1234",
"amount": "251.59",
"photo_url": "https://desafio.eadplataforma.com/front/assets/ronaldo.jpg",
"status": "1"
},
{
"id": "2",
"name": "Geovane Felix",
"email": "[email protected]",
"phone": "(14) 99745-5678",
"amount": "265.59",
"photo_url": "https://desafio.eadplataforma.com/front/assets/geovane.jpg",
"status": "0"
}
]
}
GET /api/1/search?q={query}&token=seu_token
{
"total": 2,
"limit": 10,
"offset": 0,
"rows": 2,
"search": [
{
"id": "1",
"name": "Ronaldo Abreu",
"email": "[email protected]",
"phone": "(14) 99745-1234",
"amount": "251.59",
"photo_url": "https://desafio.eadplataforma.com/front/assets/ronaldo.jpg",
"status": "1"
},
{
"id": "2",
"name": "Geovane Felix",
"email": "[email protected]",
"phone": "(14) 99745-5678",
"amount": "265.59",
"photo_url": "https://desafio.eadplataforma.com/front/assets/geovane.jpg",
"status": "0"
}
]
}
GET /api/1/profile/:id?token=seu_token
{
"id": "1",
"name": "Ronaldo Abreu",
"email": "[email protected]",
"phone": "(14) 99745-1234",
"amount": "251.59",
"photo_url": "https://desafio.eadplataforma.com/front/assets/ronaldo.jpg",
"status": "1"
}
status: 0 = Adimplente / 1 = Inadimplente
GET /api/1/users?offset=10&token=seu_token = Indica o início da leitura à partir do registro 10.
POST /api/1/update/:id
{
"id": "1",
"name": "Ronaldo Abreu",
"email": "[email protected]",
"phone": "(14) 99745-1234"
}
POST /api/1/delete/:id
{
"id": "1"
}
POST /api/1/delete-many/:ids
{
"ids": [11, 22, 33, 44, 55]
}
-
Seguir as instruções de desenvolvimento;
-
Utilize ReactJS como Framework JavaScript;
-
Faça o uso de componentes de forma genérica e escalável;
-
Utilize algum pré-processador para o seu css, de preferência SASS.
-
Faça com que sua página tenha uma ótima experiência para o usuário, independente do dispositivo que ele esteja usando;
-
Utilize um código limpo e bem organizado, e de preferência, utilize alguma arquitetura modular para organizar seus arquivos CSS/SASS e os assets utilizados;
-
Documente seu projeto.
- Utilizar a lib Ant Design 3x para construção dos componentes necessários.
Seu projeto será avaliado de acordo com a qualidade do seu código e sua organização com os arquivos utilizados, além do conhecimento e bom uso da semântica HTML e CSS.
Finalizando, comunique o e-mail [email protected] sobre sua participação no desafio com o endereço da sua conta no github e seu curriculum em anexo para a próxima etapa da seleção.
Boa sorte!