Módulos:
- test (Projeto parent)
- test-api (Projeto de api, todos os resources deverão ficar nesse projeto)
- test-main (Projeto para start da aplicação baseada no spring boot)
- test-model (Projeto de model, todos os pojos e entidades deverão ficar nesse projeto)
- test-service (Projeto de services, todos os services deverão ficar nesse projeto)
- test-ui (Projeto de interface, todas as interfaces deverão ficar na pasta static dentro desse projeto)
- test-config (Projeto de configuração, todas as configurações do projeto deverá ficar nesse projeto)
Classe para start do projeto: com.test.main.TestMain Url para acesso: http://localhost:5000
O objetivo do test é mostrar suas habilidades full stack, para isso as seguintes tarefas deverão ser concluídas.
Backend:
- Criar um modelo de dados com uma tabela de cadastro de usuários que contenha os seguintes campos:
- Id
- Nome (Obrigatório)
- Email (Obrigatório e válido)
- Telefone (Obrigatório)
- Sexo (Obrigatório)
- Configurar a conexão com o MySql no módulo test-config. O módulo test-config não existe no projeto, crie um novo módulo para isso.
- O pool de conexão deverá ser configurado com o HikariCP(https://github.com/brettwooldridge/HikariCP)
- Configure os repositórios de acesso a dados com o Spring Data JPA
- Crie services para CRUD dessa tabela
- Disponibilize via api rest e com retorno em JSON os seguintes métodos
- endpoint POST /api/user
- Recebe todos os parâmetros obrigatórios para criar um novo usuário
- endpoint GET /api/user
- Lista todos os usuários
- endpoint GET /api/user/{id}
- Recupera um usuário por id
- endpoint DELETE /api/user/{id}
- Remove um usuário por id
- endpoint PUT /api/user/{id}
- Edita um usuário por id com todos os campos obrigatórios e que devem ser editados
- endpoint POST /api/user
Frontend:
-
No módulo test-ui crie as seguintes telas
- url: /#/user/
- Página que lista todos os usuários cadastrados consumindo a api
- url: /#/user/add
- Página para inserir um usuário consumindo a api
- url: /#/user/{id}
- Página para visualizar um usuário por id e edita-lo consumindo a api
- Deverá ser implementado uma ação para remover um usuário por id consumindo a api
- url: /#/user/
-
No final do desenvolvimento do frontend, deverá ser criado com o gulp uma task para minificar o css e javascript
Para finalizar o processo, gere um pull-request para que possamos analisar.
Boa Sorte!!!