Files
DashDescomplicar/docs/PLANS/DashDescomplicar-PLAN.md
T

7.2 KiB

layer, type, title, description, tags, timestamp
layer type title description tags timestamp
wiki Document PLAN — DashDescomplicar Plano operacional do DashDescomplicar v2.7.3. Roadmap de manutenção, deploys e expansões. Ciclo PDCA: versão atual em produção, próximas iterações planejadas.
plan
dashboard
operacional
pdca
roadmap
2026-06-30T00:00:00+01:00

PLAN — DashDescomplicar

Versão Atual: 2.7.3 · Data: 2026-06-30 · Status: 🟢 Operacional


Visão Geral

Dashboard interno de monitorização operacional (React 19 + Express + TypeScript) com 8 painéis ativos. Corre em EasyPanel Swarm (easy.descomplicar.pt) com MySQL no CWP. Ciclo de releases: manutenção mensal + features trimestrais.


Roadmap Operacional (Q3-Q4 2026)

Q3 2026 — Consolidação

Sprint Objetivo Proprietário Estado
Q3-S1 (Jul) Audit segurança completo + certificado de revisão Claude Code 📋 Planeado
Q3-S2 (Ago) Painel Cron Dev (visibilidade de agentes cron) Claude Code 📋 Planeado
Q3-S3 (Set) Reintrodução progressiva Paperclip (renegociação) Claude Code 📋 Planeado
Q3-S4 (Out) Sincronização multi-máquina (HP + desktop) Claude Code 📋 Planeado

Q4 2026 — Expansão Estratégica

Sprint Objetivo Proprietário Estado
Q4-S1 (Nov) Integração Wiki Descomplicar (leitura de artigos) Claude Code 📋 Backlog
Q4-S2 (Dez) Painel Inteligência Stack — melhorias Claude Code 📋 Backlog

Ciclos de Manutenção

Semanal (2ªf)

  • ✅ Verificar saúde do serviço: curl -sf https://dash.descomplicar.pt/api/dashboard
  • ✅ Revisar logs de erro no EasyPanel
  • ✅ Sincronização manual de sessões se necessário: rsync -av ~/IJFW/sessions/ easy:/var/dash-sessions/

Mensal (último Fri)

  • ✅ Audit de dependências: npm audit
  • ✅ Atualizar ficheiro STATUS.md com métricas de uptime
  • ✅ Revisar tickets de sugestões e bugs abertos

Trimestral (fim de trimestre)

  • ✅ Revisão de segurança (OWASP top 10)
  • ✅ Testes de carga/stress (Load testing)
  • ✅ Atualização de documentação (AGENTS.md, SPEC.md, CHANGELOG.md)
  • ✅ Release notes e bump de versão

Processo de Deploy

Pré-requisitos

  1. Branch main deve estar com todos os testes a passar: npm test
  2. Lint sem erros: npm run lint
  3. Build local validado: npm run build
  4. STATUS.md actualizado com versão nova

Passos do Deploy (SSH directo no EasyPanel)

# 1. SSH para o servidor
ssh root@easy.descomplicar.pt

# 2. Navegar para a pasta do projeto
cd /etc/easypanel/projects/descomplicar/dashboard_descomplicar/code

# 3. Pull da branch main
git pull origin main

# 4. Build da imagem Docker
docker build -t easypanel/descomplicar/dashboard_descomplicar:latest .

# 5. Forçar reinicialização do serviço
docker service update --force descomplicar_dashboard_descomplicar

# 6. Verificação pós-deploy
curl -sf https://dash.descomplicar.pt/api/dashboard && echo "✅ Deploy OK" || echo "❌ Deploy FALHOU"

Tempo estimado: 3-5 minutos (pull + build + restart)

Rollback (se necessário)

# Voltar para versão anterior
git revert HEAD
git push origin main
# Repetir deploy

Estrutura de Features

Painéis Ativos (v2.7.3)

ID Painel Rota Ficheiros Status
1 Dashboard / pages/Monitor.tsx 🟢 Activo
2 Monitor /monitor pages/Monitor.tsx 🟢 Activo
3 Financeiro /financial pages/Financial.tsx 🟢 Activo
4 MCPs /mcps pages/McpMonitor.tsx 🟢 Activo
5 n8n /n8n pages/N8nMonitor.tsx 🟢 Activo
6 Paperclip /paperclip pages/Paperclip.tsx 🟡 Suspenso
7 IA/Claude /ai pages/AiOverview.tsx 🟢 Activo
8 Operações /operations pages/Operations.tsx 🟢 Activo
9 Sessions (Observabilidade) /sessions pages/Sessions.tsx + pages/SessionDetail.tsx 🟢 Activo

Painéis Planeados

  • Cron Dev (Q3 2026) — visibilidade de agentes systemd-user cron
  • Wiki Integration (Q4 2026) — busca e leitura de artigos do Hub
  • Inteligência Stack (Q4 2026) — melhorias e recomendações de stack

Dependências Críticas

Infraestrutura

  • EasyPanel: easy.descomplicar.pt (5.9.90.70) — serviço descomplicar_dashboard_descomplicar
  • MySQL: 176.9.3.158 (CWP) — DB desscomplicar, tabelas tbl_eal_*
  • MCP Gateway: gateway.descomplicar.pt — estado de 39 MCPs
  • Desk CRM: MySQL interno — tarefas, tickets, projecto

Serviços Externos

  • n8n: workflows automação
  • Moloni API: dados financeiros
  • Hetzner Cloud API: métricas servidores VPS
  • IJFW: sessões Claude Code (SQLite local)
  • SSH (CWP + EasyPanel): coleta de métricas

Processo de Contribuição

1. Local Development

cd /media/ealmeida/Dados/Dev/DashDescomplicar
npm install
npm run dev        # Vite + Express em paralelo
npm run test       # Vitest
npm run lint       # ESLint

2. Branch Workflow

git checkout -b feature/meu-painel
# ... fazer changes ...
npm run build      # Validar build
npm run lint       # Lint
npm test           # Testes
git add .
git commit -m "feat: novo painel..."
git push origin feature/meu-painel
# Criar PR no Gitea

3. Code Review

  • Build passa
  • Lint passa
  • Testes adicionados/passam
  • Documentação actualizada
  • Sem hardcoded secrets
  • Validação Zod em todas as rotas novas

4. Merge & Deploy

Após aprovação:

git merge feature/meu-painel
git tag v2.7.4     # Nova versão
npm run build
npm start          # Local test
# Seguir "Processo de Deploy" acima

Troubleshooting Rápido

Serviço não responde

# 1. SSH no EasyPanel
ssh root@easy.descomplicar.pt

# 2. Verificar logs
docker logs descomplicar_dashboard_descomplicar

# 3. Reiniciar serviço
docker service update --force descomplicar_dashboard_descomplicar

Build local falha

# Limpar cache e reinstalar
rm -rf node_modules package-lock.json
npm install
npm run build

DB não responde

# Verificar conectividade MySQL
mysql -h 176.9.3.158 -u [user] -p [pass] desscomplicar
# Se falhar, contactar administrador de infraestrutura

Métricas de Saúde

Monitorar semanalmente:

  • Uptime: > 99.5% (target SLA)
  • Response time: < 500ms (p95)
  • Error rate: < 0.5% (5xx errors)
  • DB connections: < 80% do pool máximo
  • Disk space: > 10% livre em EasyPanel
  • Session sync: < 5min de lag

Alertas automáticos configurados em monitor-alerts (Desk #2323 com regra DO monitor).


Contactos & Escalação

Cenário Contacto Nível
Bug/Feature Request Comentário em Desk #65 Prioridade normal
Incidente crítico (site down) Usar CodeRED: curl -X POST https://codered.descomplicar.pt/v1/trigger/RED-ZMT3FCU8 P0
Questão técnica IRC com Claude Code (DocFaseA-DashDescomplicar) On-demand
Deploy urgente SSH directo + pós-deploy verification On-demand

Próxima revisão de plano: 2026-09-30 (fim Q3)