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

263 lines
7.2 KiB
Markdown

---
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)