Este projeto é uma API para gerenciamento de usuários e transações bancárias.
Para instalar o projeto, siga os passos abaixo:
-
Clone o repositório:
git clone https://github.com/melgacoc/python_bank
-
Suba os containers Docker:
docker-compose up --build
Para rodar os testes, execute o seguinte comando dentro do console do container:
python manage.py test bank.tests.controllers- As rotas de registro e login retornam um token que precisa ser passado nas demais requisições no headers.
- As rotas de deposito, transferência, deposito e consulta de histórico recuperam o usuário pelo token.
- URL:
/api/register/ - Método:
POST - Descrição: Registra um novo usuário.
- Parâmetros de Entrada:
username(string): "claudio" - Sem espaços ou caracteres especiaispassword(string): "12345678" - Minimo de 8 caracteresemail(string): "claudio@email.com" - Validação de emailcpf(string): "90887605001" - O CPF precisa ser válido
- Respostas:
200 OK: Usuário registrado com sucesso.400 Bad Request: Dados inválidos ou usuário já existe.
- URL:
/api/login/ - Método:
POST - Descrição: Realiza o login de um usuário.
- Parâmetros de Entrada:
username(string): "admin"password(string): "admin"
- Respostas:
200 OK: Login bem-sucedido.401 Unauthorized: Credenciais incorretas.
- URL:
/api/users/ - Método:
GET - Descrição: Consulta os detalhes de um usuário específico.
- Respostas:
200 OK: Retorna os detalhes do usuário.
- URL:
/api/balance/ - Método:
GET - Descrição: Consulta o saldo do usuário autenticado.
- Respostas:
200 OK: Retorna o saldo do usuário.
- URL:
/api/transactions/ - Método:
GET - Descrição: Lista as transações do usuário autenticado.
- Parâmetros de Entrada Opcionais:
start_date(string): Data de início no formatoYYYY-MM-DD.end_date(string): Data de término no formatoYYYY-MM-DD.
- Respostas:
200 OK: Retorna a lista de transações do usuário.
- URL:
/api/transfer/ - Método:
POST - Descrição: Transfere fundos para outro usuário.
- Parâmetros de Entrada:
receiver(string): "claudio".amount(float): 100.10
- Respostas:
200 OK: Transferência bem-sucedida.400 Bad Request: Saldo insuficiente ou dados inválidos.404 Not Found: Receptor não encontrado.
- URL:
/api/add-funds/ - Método:
POST - Descrição: Adiciona fundos à conta do usuário autenticado.
- Parâmetros de Entrada:
amount(float): 1000
- Respostas:
200 OK: Fundos adicionados com sucesso.