Files
DashDescomplicar/api/README.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

99 lines
2.2 KiB
Markdown

# 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