--- layer: wiki type: Document title: "PLAN — DashDescomplicar" description: >- 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. tags: [plan, dashboard, operacional, pdca, roadmap] timestamp: 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) ```bash # 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) ```bash # 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 ```bash 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 ```bash 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: ```bash 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 ```bash # 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 ```bash # Limpar cache e reinstalar rm -rf node_modules package-lock.json npm install npm run build ``` ### DB não responde ```bash # 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)