Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Zeuxsf/ControleFinanceiroAPI

Repository files navigation

Controle Financeiro - API

API completa para controle financeiro pessoal -- com autenticacao segura, CRUD de transacoes e endpoints adicionais para analise de gastos.


Sobre o projeto

Este e o meu primeiro projeto de API desenvolvido de forma independente. Ela foi criada com FastAPI (Python) e tem como objetivo gerenciar financas pessoais, permitindo registrar, visualizar e editar transacoes, alem de autenticacao segura com bcrypt e JWT.

A API esta totalmente funcional e pronta para integracao com um front-end.


Funcionalidades principais

Autenticacao

POST /auth/registrar - Cria novo usuario (senha criptografada com bcrypt)

POST /auth/login - Login com retorno de token JWT

POST /auth/login_form - Login via formulario

GET /auth/refresh - Atualiza o token de autenticacao

Transacoes

POST /order/alterar_saldo - Altera o saldo do usuario

POST /order/criar_transacao - Cria nova transacao (Entrada/Saida)

GET /order/visualizar_transacoes - Lista todas as transacoes

PUT /order/editar_transacao - Edita transacao existente

DELETE /order/excluir_transacao - Exclui transacao

GET /order/soma_de_gastos - Retorna soma total de gastos

GET /order/gastos_por_categoria - Mostra gastos agrupados por categoria


Tecnologias utilizadas

Python 3.10+

FastAPI -- framework principal

Uvicorn -- servidor ASGI

bcrypt -- criptografia de senhas

JWT (PyJWT) -- autenticacao

SQLAlchemy / SQLite -- banco de dados e ORM


Como rodar o projeto localmente

  1. Clone o repositorio:

git clone https://github.com/seu-usuario/controle-financeiro-api.git cd controle-financeiro-api

  1. Crie e ative um ambiente virtual:

python -m venv .venv source .venv/bin/activate # Linux/Mac .venv\Scripts\activate # Windows

  1. Instale as dependencias:

pip install -r requirements.txt

  1. Crie um arquivo .env com suas configuracoes:

SECRET_KEY=sua_chave_secreta_aqui ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=60

  1. Inicie o servidor:

uvicorn app.main:app --reload

  1. Acesse a documentacao interativa (Swagger UI):

http://localhost:8000/docs


Exemplos de uso (Swagger UI)

A documentacao interativa permite testar todos os endpoints facilmente, com suporte a autenticacao via token JWT.


Licenca

Este projeto e distribuido sob a licenca MIT. Sinta-se a vontade para usar, modificar e contribuir!


Criado por: Alexandre S. de Franca

About

Api de aprendizado

Resources

Readme

License

MIT license

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors