Skip to content

augustoarraes/objective_bank

Repository files navigation

Objective Bank

Executando a aplicação:

docker-compose up -d

HTTP prefixo: http://localhost:5000

Micro Sistema de Gestão Bancária

Micro sistema de gestão bancária conceitual por meio de uma API, composta por dois endpoints: "/conta" e "/transacao". O endpoint "/conta" cria e fornece informações sobre o número da conta e o saldo. O endpoint "/transacao" é responsável por realizar diversas operações financeiras.

Os endpoints tem os seguintes padrões de entrada e saída no formato json:

Use as seguintes siglas para as formas de pagamento:

P => Pix C => Cartão de Crédito D => Cartão de Débito

POST /transacao

input => JSON {"forma_pagamento": "D", "conta_id": 1234, "valor": 10}
output => HTTP STATUS 201 / JSON {“conta_id”: 1234, “saldo”: 189.70}
HTTP STATUS 404 (Caso não tenha saldo disponível)

POST/conta

input => JSON {"conta_id": 1234, "valor": 10}
output => HTTP STATUS 201 / JSON {“conta_id”: 1234, “saldo”: 189.70}

GET /conta?id=

output => Caso não exista a conta deve retornar HTTP STATUS 404
Caso exista a conta retorna HTTP STATUS 200 e um JSON:
{“conta_id”: 1234, “saldo”: 200}

Aqui estão as etapas:

Há três formas de transação disponíveis: débito, crédito e Pix, cada uma com taxas diferentes.

Taxa de débito: 3% sobre a operação

Taxa de crédito: 5% sobre a operação

Taxa do Pix: Sem custo

Após criar a conta e definir as taxas, execute sua api com as seguintes operações:

  1. Validar se uma conta existe
  2. Criar uma conta com saldo inicial de R$ 500
  3. Consultar o saldo dela
  4. Efetue uma compra no valor de R$ 50 utilizando a opção de débito.
  5. Execute uma compra de R$ 100 usando a opção de crédito.
  6. Realize uma transferência via Pix no valor de R$ 75.

Importante lembrar que todas as contas não possuem limite de cheque especial, o que significa que não é permitido ter saldo negativo. Portanto, implementa as validações necessárias para garantir que as transações não excedam o saldo disponível.

As chamadas devem interferir no saldo da conta para as próximas operações.

Fica facultativo a persistência dos dados e autenticação de sessão.

Diferenciais a fazer:

● Realizecommitsbemescritos;
● Realizeostestesnecessários;
● Mantenhaumcódigolimpo;
● Utilizaçãodedesignpatterns;
● Persistênciadedados;

Contato

Augusto Arraes

Releases

No releases published

Packages

No packages published