Este é um projeto baseado em Spring Boot e responsável por gerenciar a criação de Contas e Transações.
Os endpoints também podem ser acessados no Swagger a partir do endereço:
POST /accounts
# request body
{
"document_number": "12345678900"
}
GET /accounts/:accountId
# response body:
{
"account_id": 1,
"document_number": "12345678900"
}
POST /transactions
# request body:
{
"account_id": 1,
"operation_type_id": 4,
"amount": 123.45
}
O banco de dados pode ser iniciado utilizando o comando make start-database
e o volume do banco de dados deve ser alterado no arquivo docker-compose.db.yml.
As migrações serão validadas/executadas automaticamente na inicialização da aplicação pelo Flyway e os arquivos se encontram em src/main/resources/db/migration.
Um conjunto de comandos foi definido utilizando o utilitário Make e estão disponíveis no arquivo Makefile
# build
> make build
# executar testes
> make test
# inicializar banco de dados
> make start-database
# interromper banco de dados
> make stop-database
# executar aplicacao
> make run
# executar flyway diretamente
> make local-migration
# gerar imagem docker
> make docker-build
# executar aplicacao utilizando docker e banco de dados
> make docker-run