# Dashboard Descomplicar API API Node.js/Express com queries diretas à BD Desk CRM. ## Estrutura ``` api/ ├── server.ts # Express server ├── db.ts # MySQL connection pool ├── services/ │ ├── calendar.ts # Google Calendar API │ ├── dashboard.ts # Dashboard queries │ └── monitoring.ts # Monitoring queries └── routes/ ├── dashboard.ts # GET /api/dashboard └── monitor.ts # GET /api/monitor ``` ## Endpoints ### GET /api/dashboard Retorna dados do dashboard principal: - Tarefas (urgente, alta, vencidas, testes, semana) - Tickets abertos - Leads (contactar, followup, proposta) - Projectos activos - Timesheet semanal - Billing 360 - Pipeline de vendas - Eventos Google Calendar (hoje + semana) ### GET /api/monitor Retorna status de monitorização: - Servidores (CPU, RAM, Disco) - Serviços web - Sites WordPress - Containers Docker ### GET /api/health Health check endpoint ## Setup 1. **Instalar dependências:** ```bash npm install ``` 2. **Configurar .env:** ```bash cp .env.example .env # Editar .env com credenciais correctas ``` 3. **Desenvolvimento:** ```bash npm run dev # Vite + API (ambos) npm run dev:api # API apenas npm run dev:ui # Vite apenas ``` 4. **Produção:** ```bash npm run build npm start ``` ## Queries Migradas do PHP Todas as queries do `index.php` e `monitor.php` foram migradas para TypeScript: - ✅ Tasks (urgente, alta, vencidas, testes, semana, monday mood) - ✅ Tickets - ✅ Leads (contactar, followup, proposta) - ✅ Projectos - ✅ Timesheet semanal - ✅ Billing 360 - ✅ Pipeline (leads, estimates, proposals) - ✅ Google Calendar (eventos pessoais + profissionais) - ✅ Monitorização (tbl_eal_monitoring) ## BD Necessárias - `ealmeida_desk24` (BD principal Perfex CRM) - Tabelas Perfex: `tbltasks`, `tblleads`, `tblprojects`, `tbltickets`, etc. - Tabelas custom: `billing_360_clients`, `billing_360_invoices`, `tbl_eal_monitoring` ## Google Calendar API Credenciais OAuth2 configuradas em `services/calendar.ts`: - Client ID - Client Secret - Refresh Token Calendários: - `primary` - Eventos pessoais - `emanuel@descomplicar.pt` - Eventos profissionais