# <NOME DO MÓDULO> — Arquitetura

> **Slug:** `<slug-do-modulos>` · **Versão analisada:** `<VERSAO>`
>
> Camadas envolvidas, papel de cada classe e o fluxo de uma requisição
> completa. Todo caminho aqui é real e relativo à raiz do repositório.

---

## 1. Fluxo da requisição

```mermaid
sequenceDiagram
    participant U as Usuário
    participant R as Rota
    participant M as Middleware
    participant C as Controller
    participant V as Validator
    participant S as Service/Repository
    participant D as Model/DB
    participant W as View

    U->>R: requisição
    R->>M: middleware
    M->>C: action
    C->>V: valida
    V-->>C: dados válidos
    C->>S: operação
    S->>D: query
    D-->>S: registros
    S-->>C: resultado
    C->>W: view/response
    W-->>U: resposta
```

> Ajuste o diagrama à realidade do módulo: remova as camadas que não
> existem (por exemplo, não há validator nem service em um módulo simples).

## 2. Tabela de rotas principais

| Método | URI | Nome da rota | Controller@action | Middleware | Papel |
|---|---|---|---|---|---|
| | | | | | |

> Inclua **todas** as rotas do módulo, não só as principais. As rotas de
> escrita e as de ajax costumam ser as que faltam.

## 3. Classes envolvidas

| Classe | Caminho | Papel |
|---|---|---|
| | | |

## 4. Middleware aplicado

| Middleware | Onde é registrado | Efeito observável |
|---|---|---|
| | | |

> Atenção: no legado o middleware é registrado em pontos diferentes
> (construtor do controller, grupo de rotas, kernel). **Verifique onde** —
> a diferença muda o comportamento de rotas escritas.

## 5. Dependências externas

| Pacote | Versão | Para que é usado aqui |
|---|---|---|
| | | |

## 6. Acoplamento com outros módulos

| Módulo | Tipo de acoplamento | Onde acontece |
|---|---|---|
| | | |

## 7. Pontos de entrada alternativos

- Tarefas agendadas (cron/queue): 
- Comandos artisan: 
- Webhooks / callbacks: 
- Jobs / eventos: 
