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

138 lines
4.1 KiB
Markdown

# 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 (`/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)
#### 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.