Download the PHP package dev-bumba/laraflow without Composer
On this page you can find all versions of the php package dev-bumba/laraflow. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dev-bumba/laraflow
More information about dev-bumba/laraflow
Files in dev-bumba/laraflow
Package laraflow
Short Description An active temporal orchestration and declarative workflow engine for Laravel.
License MIT
Informations about the package laraflow
LaraFlow 🌊
O LaraFlow é um motor robusto de orquestração de processos e máquinas de estado (State Machines) de alta performance para o ecossistema Laravel. Construído sob as fundações do spatie/laravel-model-states, ele estende o framework para fornecer consistência transacional estrita (ACID), trilha de auditoria imutável, gerenciamento automatizado de SLA e arquitetura orientada a eventos (EDA).
Foi projetado especificamente para sistemas corporativos críticos — Fintechs, Insurtechs, Banca e Compliance — onde concorrência de dados (Race Conditions), quebra de regras operacionais e falta de rastreabilidade representam risco financeiro direto.
Índice
- Diferenciais de Engenharia & Arquitetura
- Estrutura do Pacote
- Instalação
- Configuração Básica
- Como Usar
- Automação Ativa de SLA
- Cinto de Utilidades CLI
- Gerador de Scaffolding
- Licença
🏗️ Diferenciais de Engenharia & Arquitetura
O LaraFlow separa o ciclo de vida de uma mudança de estado em três fases isoladas e sequenciais, otimizando conexões de banco e garantindo isolamento de escopo:
Fase 1 — Validação Estática (Fora da Transação)
Checa permissões (roles/permissions), pré-requisitos relacionais e regras de negócio complexas (Guards). Se falhar, o banco de dados permanece intacto, poupando conexões ativas.
Fase 2 — Bloco Atômico Transacional (Dentro do Lock)
Aplica Pessimistic Locking (lockForUpdate) diretamente na linha do registro e executa um Double-Check de estado. Se outra requisição alterou o registro em paralelo, a operação sofre rollback e aborta, eliminando cliques duplos e execuções duplicadas.
Fase 3 — Efeitos Colaterais Pós-Commit (Event-Driven)
Anuncia as mudanças ao sistema (WorkflowTransitioned) apenas após o sucesso absoluto do commit no banco, isolando e protegendo a aplicação contra falhas em APIs ou filas de terceiros.
📂 Estrutura do Pacote
⚡ Instalação
Instale o pacote via Composer (se o repositório for privado, adicione a referência no seu composer.json):
Publique o arquivo de configuração corporativo:
Execute as migrations para subir as tabelas imutáveis de auditoria e controle de extensões:
⚙️ Configuração Básica (config/laraflow.php)
Centralize os modelos Eloquent que o motor deve monitorar ativamente em background:
🚀 Como Usar
1. Prepare o seu Model Eloquent
Adicione a trait HasStateHistory e faça o mapeamento do status usando o Spatie States apontando para a nossa GenericTransition:
2. Disparando uma Transição com Contexto (Payload)
Passe permissões, dependências, guards de negócio e metadados contextuais (ex: o parecer do analista) direto na chamada:
🤖 Automação Ativa de SLA (workflow:check-slas)
Se os seus estados implementarem as interfaces HasSla ou HasEarlyWarning, o LaraFlow transforma-se em um agente ativo de infraestrutura (self-healing). Configure o comando no app/Console/Kernel.php para rodar a cada minuto:
🟡 Zona Amarela (Early Warning): Se o processo se aproximar do estouro, ele move o registro preventivamente para uma fila de prioridade.
🔴 Zona Vermelha (Transição Compulsória): Se o prazo morrer, ele remove o registro da mesa do analista e joga para um status de fallback de contingência, disparando o evento SlaBreached.
🧰 Cinto de Utilidades CLI (DevSecOps)
O LaraFlow fornece comandos avançados para a equipe de sustentação intervir no ambiente de produção com total rastreabilidade.
Investigação Forense — Veja a trilha imutável de um registro diretamente no terminal:
Intervenção de Emergência (Chave Mestra) — Destrave um processo ignorando guards (ex: API de parceiro fora do ar), exigindo justificativa obrigatória para a auditoria:
Radar de Gargalos — Identifique quais departamentos estão retendo processos e estourando os indicadores da empresa:
Living Documentation — Gere diagramas Mermaid atualizados em tempo real com base no código-fonte atual para documentar esteiras de CI/CD:
🛠️ Gerador de Scaffolding (make:workflow)
O LaraFlow inclui um comando Artisan para gerar em segundos toda a estrutura de pastas e arquivos necessária para um novo fluxo — estados, guards e actions — a partir de stubs pré-configurados.
O comando cria automaticamente a seguinte estrutura dentro do seu projeto:
Os arquivos gerados são populados com os stubs localizados em src/stubs/, que servem como ponto de partida funcional e já seguem as convenções do LaraFlow.
📄 Licença
O LaraFlow é um software open-source licenciado sob a MIT License.
Criado com foco em resiliência por Carlos Bumba.
All versions of laraflow with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0
spatie/laravel-model-states Version ^2.5