A aplicação Wex Prepag é uma API onde é possível emitir cartões de forma simplificada, e autorizar transações financeiras utilizando estes cartões.
Endpoint para criar novos Cartões
POST /api/prepag.card
Content-Type: application/json
{
"name": "Layne Stanley",
"balance": 300
}
Response de exemplo
{
"name": "Layne Stanley",
"number": "5447318541794326",
"validity": "08/21",
"password": "8011",
"balance": 300,
"cvv": "768"
}
POST /api/authorize
Content-Type: application/json
{
"prepag.card": "5447318541794326",
"validity": "08/21",
"password": "8011",
"cvv": "768",
"store": "americanas",
"value": 200
}
Response de exemplo
{
"code": "00",
"cardBalance": 167,
"message": null
}
GET /api/cards
Response de exemplo
[
{
"id": 1,
"holderName": "Chris Cornell",
"cardNumber": "5447317206147840",
"cardValidity": "2021-08-20",
"cardPassword": "9211",
"cardBalance": 500
},
{
"id": 2,
"holderName": "Jerry Cantrell",
"cardNumber": "5447318541794326",
"cardValidity": "2021-08-20",
"cardPassword": "8011",
"cardBalance": 300
}
]
Para executar a aplicação siga estes passos:
- Criar banco de dados no postgres com o nome wexprepag;
- Criar usuário prepagdb com senha psipos81kr;
- Dar permissão ao usuário no banco criado.
mvn package
mvn spring-boot:run
mvn test
Java 8
Postgre Sql
Spring Framework
Maven
A aplicação conta com alguns pacotes:
- controller - onde encontra-se a classe responsável por atender as requisições;
- domain - onde encontram-se as classes que possuem as regras de negócio, como validar os cartões, como emitir cartões, etc;
- http - onde encontram-se as abstrações de request e response da solução;
- models - onde encontra-se a classe de abstração do banco de dados;
- repository - onde encontra-se a classe para fazer consultas ao banco de dados;
Obs: O pacote de testes encontra-se em outra hierarquia, mas segue a mesma estrutura de pastas.