Desafio Técnico - Bloxs
API que realize operações bancárias básicas.
- Python 3.8.16
- MySQL
-
Clone o repositório:
git clone https://github.com/macdev14/bloxs.git cd bloxs
-
Instale as dependências:
pip install -r requirements.txt
-
Crie um arquivo .env com as credenciais de conexão ao banco de dados:
USER = 'root' PASSWORD = 'root' HOST = '127.0.0.1' PORT = '8889' DATABASE = 'bloxs'
-
Aplique as migrations criando as tabelas
flask db upgrade
-
Inicie a API
flask run
- Endpoint:
POST /api/accounts
- Descrição: Cria uma nova conta bancária.
- Payload: Dados necessários para criar a conta (ex: id_pessoa, tipo_conta).
- Retorno: Retorna os detalhes da conta recém-criada.
- Endpoint:
GET /api/accounts/{id_conta}
- Descrição: Retorna o saldo atual de uma conta específica.
- Retorno: Retorna o saldo da conta.
- Endpoint:
POST /api/accounts/{id_conta}/deposit
- Descrição: Realiza um depósito em uma conta específica.
- Payload: Valor a ser depositado na conta.
- Retorno: Retorna os detalhes da transação de depósito.
- Endpoint:
POST /api/accounts/{id_conta}/withdraw
- Descrição: Realiza um saque em uma conta específica.
- Payload: Valor a ser retirado da conta.
- Retorno: Retorna os detalhes da transação de saque.
- Endpoint:
PUT /api/accounts/{id_conta}/block
- Descrição: Bloqueia uma conta específica.
- Retorno: Retorna confirmação do bloqueio.
- Endpoint:
GET /api/accounts/{id_conta}/transactions
- Descrição: Retorna o extrato de transações de uma conta específica.
- Retorno: Retorna uma lista de transações relacionadas à conta.
- Endpoint:
POST /api/transactions
- Descrição: Cria uma nova transação.
- Payload: Dados necessários para criar a transação (ex: id_conta, valor).
- Retorno: Retorna os detalhes da transação criada.
- Endpoint:
PUT /api/transactions/{id_transacao}
- Descrição: Atualiza os detalhes de uma transação específica.
- Payload: Novos dados para a transação.
- Retorno: Retorna os detalhes da transação atualizada.
- Endpoint:
DELETE /api/transactions/{id_transacao}
- Descrição: Remove uma transação específica.
- Retorno: Retorna confirmação da remoção.
- Endpoint:
GET /api/people/{id_pessoa}
- Descrição: Retorna informações de uma pessoa específica.
- Retorno: Retorna os detalhes da pessoa.