- Adiciona dotenv para carregar variáveis de ambiente - Configura DB_HOST para servidor remoto (176.9.3.158) - Cria endpoint /api/diagnostic para testes - Actualiza título: "Plan EAL" → "Dashboard Descomplicar" - Adiciona tsconfig.json para pasta /api - Fix: Carrega .env antes de inicializar MySQL pool Tarefa: #1556 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.6 KiB
4.6 KiB
Changelog
Todas as alterações notáveis neste projecto serão documentadas neste ficheiro.
[2.0.1] - 2026-02-04
Added
- ✅ Endpoint
/api/diagnosticpara testes individuais de cada função - ✅ Dependência
dotenv^16.6.1 para carregamento de variáveis de ambiente
Fixed
- ✅ Carregamento de variáveis de ambiente (
.env) antes de inicializar connection pool MySQL - ✅ Configuração de
DB_HOSTpara servidor remoto (176.9.3.158) - ✅ Tratamento de erros EADDRINUSE (porta já em uso)
Changed
- ✅ Título da aplicação: "Plan EAL" → "Dashboard Descomplicar · Dados Reais"
- ✅ Logs do servidor mais detalhados com separadores visuais
[2.0.0] - 2026-02-04
Added
API Node.js/Express Completa
- ✅ Servidor Express em
/api/server.ts - ✅ Connection pool MySQL em
/api/db.ts - ✅ Proxy Vite configurado (
/api→http://localhost:3001)
Serviços
-
✅ Google Calendar API (
/api/services/calendar.ts)- Integração com calendários pessoal e profissional
- Eventos de hoje e da semana
- OAuth2 configurado com refresh token
-
✅ Dashboard Queries (
/api/services/dashboard.ts)- Tasks: urgente, alta prioridade, vencidas, em testes, esta semana
- Monday Mood (tag especial #67)
- Tickets abertos
- Leads: contactar, followup, proposta
- Projectos activos
- Timesheet semanal (staff_id=1)
- Billing 360 (clientes com horas facturadas vs entregues)
- Pipeline completo (leads, estimates, proposals)
-
✅ Monitoring Queries (
/api/services/monitoring.ts)- Query à tabela
tbl_eal_monitoring - Summary por categoria
- Status geral (ok/warning/critical)
- Query à tabela
Endpoints
- ✅
GET /api/dashboard- Dashboard completo - ✅
GET /api/monitor- Monitorização de sistemas - ✅
GET /api/health- Health check
Frontend
- ✅
App.tsxactualizado para usar/api/dashboard(linha 425) - ✅ Fallback para dados mock em caso de erro (desenvolvimento)
Infraestrutura
- ✅ Scripts npm:
npm run dev- Vite + API em paralelo (concurrently)npm run dev:api- API apenas (tsx watch)npm run dev:ui- Vite apenasnpm start- Produção (serve API + static build)
Dependências Adicionadas
express^4.19.2cors^2.8.5mysql2^3.11.5googleapis^144.0.0concurrently^9.1.2 (dev)tsx^4.19.2 (dev)@types/express^5.0.0 (dev)@types/cors^2.8.17 (dev)
Documentação
- ✅
api/README.md- Documentação completa da API - ✅
.env.example- Template de configuração
Changed
- Título da tarefa #1556: "Dashboard Descomplicar - Dados Reais e API"
vite.config.ts- Adicionado proxy para/apipackage.json- Nome alterado paradash-descomplicar
Migrated
Toda a lógica do PHP (plan-eal.descomplicar.pt) migrada para TypeScript:
De index.php:
- ✅ Google Calendar API (pessoal + profissional)
- ✅ Todas as queries à BD Desk CRM
- ✅ Billing 360 (horas facturadas vs entregues)
- ✅ Pipeline de vendas
- ✅ Cálculo de timesheet semanal
- ✅ Monday Mood (tarefas com tag especial)
De monitor.php:
- ✅ Query à
tbl_eal_monitoring - ✅ Organização por categoria
- ✅ Cálculo de status geral
Technical Notes
Semana: Segunda a Domingo
- Função
getWeekRange()calcula início da semana (segunda-feira) - Timesheet usa UNIX timestamp para compatibilidade com dados antigos
Billing 360
- Calcula horas entregues de
tbltaskstimers - Compara com horas facturadas de
billing_360_invoices - Status:
credit(>5h crédito),debt(<-5h débito),ok(entre -5 e +5)
Pipeline
- Agrega leads por fase (
tblleads_status) - Inclui estimates (status 2=Enviado, 3=Visto)
- Inclui proposals (status 4)
- Valor total calculado em SQL
Performance
- Queries em paralelo com
Promise.all() - Connection pool MySQL (10 conexões)
- Vite proxy em dev (zero CORS issues)
Pending
- Sistema de autenticação (JWT ou sessões)
- Deploy em produção (EasyPanel)
- Configurar variáveis de ambiente em produção
- Testar Google Calendar OAuth refresh
Breaking Changes
- ❌ PHP backend descontinuado (
plan-eal.descomplicar.ptserá apagado) - ✅ Nova API Node.js/Express em
/api - ✅ React dashboard em
dash.descomplicar.pt
[1.0.0] - 2026-02-03
Added
- Dashboard React inicial com Vite + TypeScript
- UI com Tailwind CSS 4 + Framer Motion
- Design system: Glassmorphism + Bento Grid
- Componentes: HeroStat, GlassCard, ProgressRing, Sparkline
- Dados mock para demonstração
- Autenticação Authentik (OIDC) configurada
- Deploy EasyPanel em
dash.descomplicar.pt
Note
Versão inicial com dados mock. API implementada na v2.0.0.