Este projeto faz parte do desafio Backend da Digital Republic.
API tem por objetivo o gerenciamento de contas bancárias, com funcionalidade básicas de criação de conta bancária, consulta de contas e contra, depósito bancário e transferência entre contas.
.
├── ...
├── src
│ ├── main
│ │ ├── controller # Responsável pela orquestração dos dados
│ │ ├── exception # Responsável por tratar erros específicos
│ │ ├── model # Camada de modelos
│ │ ├── repository # Responsável por realizar operações na base de dados
│ │ ├── security # Responsável pelas configurações de segurança
│ │ ├── service # Responsável pela lógica da aplicação e responsável por se comunicar com outras camadas
│ │ ├── utils # Camada de validações específicas
│ │ └── DemoApplication.kt # Aplicação
│ ├── test
│ │ └──controller
└── ...
- Rodar
DemoApplication.kt
; - Conectar banco de dados no MongoDB.
Path: POST localhost:8080/account
Body:
"name": "", //String
document": "" // String (11 dígitos)
}
Basic Auth: verificar username e password em SecurityConfiguration
Path: GET localhost:8080/account
Basic Auth: verificar username e password em SecurityConfiguration
Path: GET localhost:8080/account/{document}
Basic Auth: verificar username e password em SecurityConfiguration
Path: PATCH localhost:8080/account/deposit
Body:
"account_id": , // Long
"amount": // BigDecimal
}
Basic Auth: verificar username e password em SecurityConfiguration
Path: PATCH localhost:8080/account/transfer
Body:
"account_id_from": , // Long
"account_id_to": , // Long
"amount": // BigDecimal
}
Basic Auth: verificar username e password em SecurityConfiguration
- O CPF só pode ser associado a uma conta;
- Para criar uma conta, é necessário conter o nome completo da pessoa e o CPF;
- Uma conta bancária é criada com valor nulo e não é permitido saldo negativo;
- Depósito nunca devem ultrapassar o valor de R$ 2000;
- Transferências são gratuitas e ilimitadas.