EventStorming — Processo Detalhado
← Big Picture · você está em Processo Detalhado
Legenda
Seção intitulada “Legenda”Big Picture Storming — Brandolini. Leitura: cima → baixo (tempo causal). Layout por swim lane: comandos (azul) acima dos eventos que disparam · eventos (laranja) ao centro · read models (verde) + políticas (roxo) abaixo.
🟧 Evento de domínio (past tense)🟦 Comando (imperativo)🟨 Ator / Persona🟥 Hotspot / sistema externo🟩 Read model / view🟪 Política (whenever → then)
Timeline Causal (↓ tempo)
Seção intitulada “Timeline Causal (↓ tempo)”T1Seleção de Cafésator: Visitante
Visitante
Adicionar café ao carrinho
Alterar quantidade
Catálogo de cafés exibido
Filtro de intensidade aplicado
Item de café adicionado ao carrinho
Quantidade de item alterada
Resumo parcial do pedido atualizado
Visitante avançou para T2
Catálogo de cafés
whenever item adicionado → atualizar resumo parcial do pedido
T2Capuccinos, Chás e Chocolatesator: Visitante
Adicionar bebida quente
Catálogo de bebidas quentes exibido
Bebida quente adicionada ao carrinho
Resumo do carrinho atualizado em tempo real
Visitante avançou para T3
Carrinho dinâmico
T3Açúcar, Adoçantes e Complementosator: Visitante
Adicionar complemento
Catálogo de insumos e complementos exibido
Complemento adicionado ao carrinho
Resumo do carrinho atualizado
Visitante avançou para T4 ou T5
T4Escolha da Máquina (condicional)ator: Visitante (novo cliente)
Selecionar modelo de máquina
Tipo de cliente identificado pelo sistema
Vitrine de máquinas exibida (cliente novo)
Modelo de máquina selecionado
T4 ignorada — cliente já possui máquina
Critério “novo cliente” ambíguo — visitante anônimo ≠ sem assinatura (EC-02)
Vitrine de máquinas
whenever tipo_cliente = novo → exibir vitrine de máquinas
whenever tipo_cliente = existente → pular T4
T5Revisão e Termos da Assinaturaator: Visitante
Aceitar termos de assinatura
Confirmar pedido
Resumo completo do pedido exibido
Valor da recorrência mensal exibido
Termos de assinatura aceitos (checkbox)
Pedido fechado e submetido
Resumo do pedido
whenever termos aceitos + carrinho válido → liberar submissão do pedido
T6Cadastro e Endereço de Entregaator: Visitante → Cliente
Visitante → Cliente
Informar CEP
Criar conta / fazer login
Confirmar endereço de entrega
Formulário de cadastro exibido
CEP de entrega informado
ViaCEP consultado pelo sistema
CEP pertencente à Grande SP — avanço liberado
CEP fora da Grande SP — pedido bloqueado
Conta de cliente criada
Login de cliente existente realizado
Endereço de entrega confirmado
ViaCEP — API externa gratuita sem SLA (risco terceiro)
Base Grande SP — critério de municípios não definido (RN-01)
Formulário de cadastro
whenever CEP válido (Grande SP) → avançar para T7
whenever CEP inválido → bloquear pedido e exibir erro
T7Pagamento e Confirmaçãoator: Cliente (logado)
Cliente (logado)
Informar dados do cartão
Confirmar pagamento recorrente
Dados do cartão de crédito informados
Pagamento recorrente autorizado pelo gateway
Pagamento recusado pelo gateway
Assinatura mensal ativada
Número do pedido gerado
E-mail de boas-vindas enviado ao cliente
Stripe ou Asaas? — gateway não decidido (EC-02)
Status da assinatura
whenever pagamento autorizado → ativar assinatura + gerar número do pedido
whenever pagamento recusado → exibir erro e solicitar novo cartão
T8-T10 · PainelPainel do Clienteator: Cliente (logado)
Atualizar dados cadastrais
Alterar cesta de produtos
Atualizar cartão de crédito
Dashboard de assinatura visualizado
Status da assinatura exibido (Ativa / Suspensa / Aguardando)
Data da próxima cobrança exibida
Dados cadastrais atualizados
Cartão de crédito atualizado
CEP de entrega alterado e revalidado
Endereço de entrega atualizado
Cesta de produtos alterada
Alteração de cesta agendada para próximo ciclo
Data de corte do ciclo mensal não definida (EC-05)
Painel do cliente
whenever alteração de cesta → agendar para início do próximo ciclo
RECCiclo de Recorrência Mensalator: Sistema
Sistema
Processar cobrança mensal
Despachar pedido para logística
Ciclo mensal de cobrança iniciado
Alterações agendadas aplicadas à cesta
Cobrança mensal processada com sucesso
Cobrança mensal recusada pelo gateway
Retry de cobrança iniciado
Retry de cobrança bem-sucedido
Assinatura suspensa por inadimplência
Pedido despachado para logística
NF-e emitida (placeholder)
Entrega confirmada ao assinante
NF-e — sistema fiscal TBD, não especificado no BRIEF
Logística / entrega — provider e SLA não definidos
Status do ciclo de recorrência
whenever cobrança recusada → iniciar retry automático (até 3x)
whenever retries esgotados → suspender assinatura por inadimplência
T11-T13 · AdminPainel Administrativoator: Admin Master Expresso
Admin
Suspender assinatura
Cancelar assinatura
Forçar cobrança
Dashboard de métricas administrativas visualizado
Lista de assinaturas consultada com filtros
Detalhe de assinatura aberto (itens + histórico)
Assinatura suspensa pelo admin
Assinatura cancelada pelo admin
Cobrança forçada pelo admin
Lista de clientes consultada
Log de alteração de endereço visualizado
Log de ação administrativa gerado
Máquina de estados ausente — Suspensa ≠ Cancelada? (EC-10)
“Forçar Cobrança” sem idempotência — risco de cobrança dupla
Dashboard admin
Lista de assinaturas
whenever ação admin executada → gerar log de auditoria imutável
Contagem v3
Seção intitulada “Contagem v3”| Elemento | Qtd |
|---|---|
| Eventos de domínio 🟧 laranja | 48 |
| Comandos 🟦 azul | 19 |
| Atores 🟨 amarelo | 4 (Visitante, Visitante→Cliente, Sistema, Admin) |
| Hotspots / sistemas externos 🟥 rosa | 9 |
| Read models / views 🟩 verde | 8 |
| Políticas 🟪 roxo | 10 |
| Telas / seções cobertas | 10 (T1–T13 + REC) |