API Java com Spring Boot, PostgreSQL e Redis.
- Java 25
- Docker e Docker Compose
- PowerShell ou terminal equivalente
Execute na raiz do projeto, em C:\personal_project\booksmith:
docker compose up --buildServicos expostos:
- API:
http://localhost:8080 - PostgreSQL:
localhost:5432 - Redis:
localhost:6379
Credenciais locais do PostgreSQL:
- Database:
booksmith - User:
booksmith - Password:
booksmith
Para parar os containers:
docker compose downPara parar e remover os volumes locais do PostgreSQL e Redis:
docker compose down -vSe quiser rodar a API pela IDE ou Maven, suba apenas as dependencias:
docker compose up -d postgres redisDepois execute dentro da pasta app:
.\mvnw.cmd spring-boot:runO profile padrao e dev.
A aplicacao ja possui defaults locais, mas aceita sobrescrita por variaveis:
$env:SPRING_DATASOURCE_URL="jdbc:postgresql://localhost:5432/booksmith"
$env:SPRING_DATASOURCE_USERNAME="booksmith"
$env:SPRING_DATASOURCE_PASSWORD="booksmith"
$env:SPRING_DATA_REDIS_HOST="localhost"
$env:SPRING_DATA_REDIS_PORT="6379"
$env:TOKEN_SECRET="token"
$env:EXPIRATION="86400000"- Health check:
GET /actuator/health - Login:
POST /auth/login
Para rotas diferentes de login, envie os headers:
Authorization: Bearer <token>
X-Request-Trace-Id: <trace-id>O X-Request-Trace-Id tambem e retornado no response e aparece nos logs como requestTraceId : valor.