###### tags: `Softplan` `Avaliação Frontend`
# Avaliação Frontend (OFICIAL)
## Objetivo:
#### Desenvolver uma aplicação web contendo os seguintes requisitos:
1. A aplicação deverá estar protegida por login e senha;
2. Deverá existir 2 tipos de perfis (`ADMIN` e `USER`);
3. Deverá possuir interface para pesquisa dos usuários cadastrados;
4. Deverá possuir interface para cadastro (`CRUD`) dos usuários da aplicação;
5. Deverá possuir interface para visualizar “Meu perfil”, podendo alterar a senha;
6. Deverá possuir a opção de "Sair" da aplicação;
7. Deverá aparecer o nome e/ou foto do usuário no `header` da aplicação;
#### Regras de negócio:
* O usuário com acesso `ADMIN` poderá executar cadastro (`CRUD`) de outros usuários e visualizar;
* O usuário com acesso `USER` poderá apenas visualizar os usuários do sistema;
#### Requisitos não funcionais:
* Testes unitários;
* O frontend deverá ser desenvolvido em React;
* Utilizar algum mock http, exemplo: [json-server](https://github.com/typicode/json-server);
* Utilizar algum framework UI (Material-UI, Bootstrap, AntDesign, etc...);
#### PLUS:
* Use a sua criatividade, funcionalidades extras serão bem vindas :)
* Utilização de alguma lib para formulários;
* Usuário possuir foto no seu cadastro;
#### O que será avaliado:
* Habilidades com React;
* Organização do código - Boas práticas de Clean Code, arquitetura, padrões de projeto;
* Testes unitários;
* Funcionalidades requisitadas (o CRUD deve estar conforme a especificação);
* Documentação - `README.md` bem descrito para conseguirmos rodar o projeto por aqui;
* Layout das telas;
###### Sugestão de estrutura:
```json=
{
"users": [
{
"id": 1,
"firstName": "Thomas",
"lastName": "Hudson",
"birthDate": "1989-12-24",
"email": "thomas.hudson@gmail.com",
"document": "52254883070", // CPF gerado no site: https://www.4devs.com.br/gerador_de_cpf
"password": "MTIzNDU2", // base64 de '123456'
"role": "ADMIN",
},
{
"id": 2,
"firstName": "Gallegos",
"lastName": "Hopkins",
"birthDate": "1996-10-24",
"email": "gallegos@hopkins.com",
"document": "28453844089", // CPF gerado no site: https://www.4devs.com.br/gerador_de_cpf
"password": "MTIzNDU2", // base64 de '123456'
"role": "USER",
},
]
}
```
#### Instruções para envio:
Para o envio do exercício pedimos que seja criado um repositório `privado` no github:
* Adicionar como contribuidor o usuário: `devunic`
* Lembrar de colocar observações, decisões e outros comentários que possam ser úteis no arquivo `README`;
#### Ahh, se você possuir algum projeto pessoal e quiser nos mostrar, seria legal ;D