API que gerencia os pedidos de um restaurante.
- Criação, atualização, visualização e remoção (soft delete) de produtos
- Criação e visualização de pedidos
- Autenticação JWT
- RBAC (Role Based Access Control)
- Testes unitários
- Migrations
Clone o projeto
git clone https://github.com/samluiz/desafio-java/tree/main
Entre no diretório do projeto
cd desafio-java
Instale as dependências
mvn install
Inicie o servidor (é necessário possuir o Docker e docker-compose instalados em sua máquina)
./run.sh
O swagger da API estará disponível em http://localhost:8080/api/docs
Para acessar os endpoints protegidos é necessário gerar um token JWT. Para isso, faça uma requisição POST para http://localhost:8080/api/auth/login com o seguinte payload:
{
"username": "admin",
"password": "admin"
}
Para rodar os testes, rode o seguinte comando
mvn test
Java 17, Spring Boot, PostgreSQL, Flyway, Docker, JUnit 5, Mockito