Files
DashDescomplicar/CHANGELOG.md
Emanuel Almeida a766f3a765 feat: add Node.js/Express API with real data from Desk CRM
-  API completa em /api com TypeScript
-  Google Calendar integration (pessoal + profissional)
-  Queries diretas à BD: tasks, leads, projectos, billing, pipeline
-  Endpoints: /api/dashboard, /api/monitor, /api/health
-  Vite proxy configurado (/api → localhost:3001)
-  App.tsx usa /api/dashboard (não mais dados mock)
-  Migração completa do PHP (index.php + monitor.php)
-  CHANGELOG.md criado para tracking
-  Scripts npm: dev (paralelo), dev:api, dev:ui, start

Dependencies:
- express, cors, mysql2, googleapis
- concurrently, tsx (dev)

Breaking: PHP backend será descontinuado
See: CHANGELOG.md, api/README.md

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 03:26:24 +00:00

4.1 KiB

Changelog

Todas as alterações notáveis neste projecto serão documentadas neste ficheiro.

[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 (/apihttp://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)

Endpoints

  • GET /api/dashboard - Dashboard completo
  • GET /api/monitor - Monitorização de sistemas
  • GET /api/health - Health check

Frontend

  • App.tsx actualizado 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 apenas
    • npm start - Produção (serve API + static build)

Dependências Adicionadas

  • express ^4.19.2
  • cors ^2.8.5
  • mysql2 ^3.11.5
  • googleapis ^144.0.0
  • concurrently ^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 /api
  • package.json - Nome alterado para dash-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.pt será 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.