A aplicação faz o mapeamento de uma lista de transações bancárias contidas em arquivo json para os campos descritos na tabela. O endpoint retorna as transações bancárias mapeadas do usuário autenticado e retorna 403 para requisições não autenticadas.
Funcionalidades:
• Somente usuários autenticados podem acessar o endpoint.
• Cada usário tem um accountId único e pode ver apenas suas transações.
• Caso o usuário autenticado tentar acesar as transações de outro retorna Erro 403.
- Java 11
- Spring Boot
- Spring Data JPA
- MySQL
- JWT/Auth0
- Docker
Para execução deste projeto é necessário ter instalado:
- JDK 11
- Docker
Abra o terminal em '.../json-mapping-bank-transactions' e execute o comando Docker para criar o servidor MySQL:
docker-compose up
Depois:
./mvnw clean install
Em seguida,execute a aplicação:
./mvnw spring-boot:run
Ao executar, a aplicação estará disponível em http://localhost:8080 e será criado os seguintes usuários:
username | password |
---|---|
william | 123 |
david | 123 |
cironeto | 123 |
Endpoint de autenticação: http://localhost:8080/login
A requisição deve ser realizada no endpoint abaixo:
GET /api/transactions/{accountId}
Campos originais | Campos a mapear |
---|---|
encodedKey | id |
parentAccountKey | arrangementId |
creationDate | bookingDate |
type | type |
valueDate | valueDate |
amount | amount |
currencyCode | currencyCode |
currencyCode | currency |
amount | creditDebitIndicator (DEBIT < 0, CREDIT >=0) |
accountBalances.totalBalance | runningBalance |
id | counterPartyAccountNumber |
parentAccountKey | reference |
type | typeGroup |
amount | instructedAmount |
Desenvolvido por Ciro Neto