API REST para controle de movimentações financeiras e fechamento de caixa.
Este projeto simula um fluxo real de operação de caixa, permitindo registrar entradas e saídas, calcular o saldo esperado e comparar com o saldo informado no fechamento.
- Registrar movimentações (entrada e saída)
- Listar movimentações
- Calcular fechamento de caixa
- Registrar histórico de fechamentos
- Listar fechamentos realizados
O sistema:
-
armazena movimentações financeiras
-
calcula automaticamente:
- total de entradas
- total de saídas
- saldo esperado
-
compara com o saldo informado
-
retorna a diferença
-
registra o fechamento no banco
- Python
- Flask
- SQLAlchemy
- SQLite
git clone <seu-repo>
cd cash-register-apipython -m venv venv
venv\Scripts\activate # Windowspip install -r requirements.txtpythonfrom app import create_app
from app.extensions import db
from app.models.movimentacao import Movimentacao
from app.models.fechamento import Fechamento
app = create_app()
with app.app_context():
db.create_all()python run.pyPOST /movimentacoes
{
"tipo": "entrada",
"valor": 100,
"forma_pagamento": "dinheiro"
}GET /movimentacoes
POST /fechamentos
{
"saldo_informado": 80
}GET /fechamentos
app/
├── routes/
├── services/
├── models/
├── extensions.py
└── __init__.py
Este projeto foi desenvolvido para praticar:
- construção de APIs REST
- separação de responsabilidades (routes, services, models)
- persistência de dados
- implementação de regras de negócio