Voltar
Fluxo do Sistema
Fluxo de uma requisição
Request
→ Recovery (captura panics)
→ Allowed Hosts (valida o host — production)
→ CSRF (valida token em POST/PUT/PATCH/DELETE)
→ Router (encontra a view)
→ Middleware da view (se houver)
→ View (lógica do desenvolvedor)
→ Service / Model (queries via ORM ou SQL raw)
→ DB / Cache
→ EventBus.Publish()
→ Realtime.Replace() / Append() / Prepend()
→ Render (SSR — renderiza o HTML)
→ Injeta liveScript (WebSocket)
→ Injeta reloadScript (hotreload — apenas em dev)
→ Response
Fluxo de desenvolvimento
Arquivo .go alterado
→ Air detecta a mudança
→ Recompila o projeto
→ Reinicia o servidor
Arquivo .html / .css / .js alterado
→ hotreload detecta via inotify
→ Envia evento via SSE (/__kyrux_reload__)
→ Browser recarrega automaticamente
Fluxo de Realtime
Usuário A faz POST /posts/criar/
→ View salva no banco
→ render.Partial() renderiza "partials/lista.html"
→ fw.Realtime.Replace("lista-posts", html)
→ JSON enviado via WebSocket para todos os clientes conectados
→ Browser de cada cliente atualiza [kyrux-target="lista-posts"]
→ DOM atualizado sem reload e sem JS manual