Skip to content

Fluxo de Aprovações (MVP): serviço Python/FastAPI para gerir aprovações de manutenção e compras com máquina de estados e dois níveis (Gestor → Financeiro), API REST enxuta, inbox por papel, trilha de auditoria, webhooks e notificações (console/Slack/Teams), além de BPMN de referência para n8n/Camunda.

Notifications You must be signed in to change notification settings

pedrohomaia/fluxoAprovacoes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fluxo de Aprovações (MVP)

MVP de serviço FastAPI com SQLite, webhooks e notificações (console) para fluxo de aprovações de manutenção e compras.

Rodar (local, sem Docker)

  1. Crie um venv e instale dependências:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
  1. Copie .env.example para .env (opcional, já tem defaults).
  2. Seeds (usuários/fluxo padrão):
python -m app.scripts.seed
  1. Suba a API:
uvicorn app.main:app --reload
  1. Teste rápido (PowerShell / curl):
# Criar pedido (como solicitante)
$headers = @{ "Content-Type"="application/json"; "X-Actor-Email"="solicitante@example.com" }
$body = '{ "type":"maintenance", "title":"Troca de rolamento", "payload":{"custo":1200} }'
curl -Method POST http://127.0.0.1:8000/api/v1/requests -Headers $headers -Body $body

# Submeter pedido
curl -Method POST http://127.0.0.1:8000/api/v1/requests/<ID>/submit -Headers $headers

# Inbox do gestor
$h2 = @{ "X-Actor-Email"="gestor@example.com" }
curl -Method GET "http://127.0.0.1:8000/api/v1/inbox" -Headers $h2

# Aprovar como gestor
$h2 = @{ "Content-Type"="application/json"; "X-Actor-Email"="gestor@example.com" }
curl -Method POST http://127.0.0.1:8000/api/v1/requests/<ID>/approve -Headers $h2 -Body '{ "comment":"ok" }'

# Aprovar como financeiro (passo 2)
$h3 = @{ "Content-Type"="application/json"; "X-Actor-Email"="financeiro@example.com" }
curl -Method POST http://127.0.0.1:8000/api/v1/requests/<ID>/approve -Headers $h3 -Body '{ "comment":"ok" }'

Logs de eventos/alertas saem no console.

Variáveis (.env)

DATABASE_URL=sqlite:///./app.db
WEBHOOK_SECRET=devsecret
SLACK_WEBHOOK_URL=
TEAMS_WEBHOOK_URL=

Estrutura

  • app/main.py – FastAPI e routers
  • app/models.py – ORM SQLAlchemy
  • app/crud.py – regras do fluxo
  • app/utils/* – webhooks e notificações
  • app/scripts/seed.py – população inicial
  • bpmn/approval-flow.bpmn – diagrama de referência

About

Fluxo de Aprovações (MVP): serviço Python/FastAPI para gerir aprovações de manutenção e compras com máquina de estados e dois níveis (Gestor → Financeiro), API REST enxuta, inbox por papel, trilha de auditoria, webhooks e notificações (console/Slack/Teams), além de BPMN de referência para n8n/Camunda.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages