https://github.com/tnas/wa-crud-case
Case de Teste para WA
https://github.com/tnas/wa-crud-case
flyway gradle java17 junit5 lombok spring-boot swagger
Last synced: 3 months ago
JSON representation
Case de Teste para WA
- Host: GitHub
- URL: https://github.com/tnas/wa-crud-case
- Owner: tnas
- Created: 2022-11-30T10:23:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-01T18:48:19.000Z (over 3 years ago)
- Last Synced: 2025-04-09T23:52:00.301Z (over 1 year ago)
- Topics: flyway, gradle, java17, junit5, lombok, spring-boot, swagger
- Language: Java
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Case de Teste - WA
### Tecnologias
- Java
- Spring boot
- Gradle
### Base de dados em memória
- url: http://localhost:8080/h2-console/login.do
- database: jdbc:h2:mem:testdb
- user: sa
- pwd:
### Desafio
- Realizar um crud do Usuário
- Salvar
- Atualizar
- Recuperar o usuário pelo id
- Campos que devem ser persistidos:
- Identificador
- Nome
- Documento
- Data de criação
- Data de atualização
## Implementação
### Tecnologias
- Java 17
- Spring boot 2.7.6
- Flyway
- JUnit 5
- Lombok
- Swagger
### Decisões
- As datas de criação e atualização são gerenciadas pela aplicação. Ainda que o usuário
informe esses campos no JSON do HTTP request (métodos POST e PUT), eles serão
desconsiderados pela aplicação.
- Uma classe `UserParam` foi definida para fins exclusivos de documentação da API.
Ela documenta o JSON esperado pelos métodos de criação e atualização de um usuário.
- Alguns testes unitários foi implementados com JUnit.
- A documentação da API foi feita via swagger.
- Uma imagem Docker foi preparada para conteinerização da aplicação.
### Uso
- O banco de dados H2 em memória pode ser acessado via
[localhost:8080/h2-console](http://localhost:8080/h2-console)
- A documentação da API pode ser acessada via
[localhost:8080/swagger-ui/](http://localhost:8080/swagger-ui/)