Skip to content

anderrosa/BankAccountAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bank Account API

A Bank Account API é um projeto simples desenvolvido para fins de estudo, com o objetivo de praticar a criação de APIs REST com Flask, autenticação JWT e uma arquitetura mais organizada.

O que foi implementado:

  • Cadastro de usuários
  • Login com geração de token JWT
  • Rota protegida para edição de saldo
  • Middleware de autenticação
  • Validações e tratamento de erros personalizados

Tecnologias Utilizadas

  • Python 3.12
  • Flask
  • PyJWT

Instalação e Execução

  1. Clone o repositório:

    git clone <url-do-repositorio>
    cd BankAccountAPI
  2. Crie e ative o ambiente virtual:

    python3 -m venv .venv  
    source venv/bin/activate  # No Windows: venv\Scripts\activate
  3. Instale as dependências:

    pip install -r requirements.txt
  4. Execute o projeto:

    python3 run.py

🔐 Sobre autenticação

Algumas rotas exigem autenticação com JWT. Para fazer uma requisição autenticada corretamente, é necessário seguir os seguintes passos:

  • Auth (aba "Authorization" do Postman):

    • Tipo: Bearer Token
    • Valor: o token JWT obtido no login
  • Params:

    • user_id: ID do usuário autenticado
  • Headers:

    • uid: ID da conta que será alterada
  • Body (JSON):

{
 "new_balance": 100.0
}

Exemplo de chamada PATCH /account/balance com tudo configurado corretamente.

📚 Objetivo

Este projeto foi criado para praticar:

  • Organização de código por camadas (routes, controllers, views, middlewares)

  • Uso de tokens JWT com Flask

  • Boas práticas de estrutura e tratamento de erros

Contribuições e Melhorias

Este projeto foi desenvolvido para fins educacionais e pode ser melhorado de diversas maneiras. Fique à vontade para sugerir melhorias, corrigir bugs ou adicionar novas funcionalidades.

Como Contribuir

  1. Fork o repositório.
  2. Crie uma branch para a sua feature (git checkout -b feature/nome-da-feature).
  3. Faça as modificações e commit (git commit -am 'Adicionando nova feature').
  4. Push na branch (git push origin feature/nome-da-feature).
  5. Abra um Pull Request.

Projeto feito com fins educacionais. Ainda pode conter melhorias ou partes inacabadas.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages