Files
DashDescomplicar/api/README.md
T
ealmeida f7acd99d8f docs(okf): frontmatter OKF + rich abstracts nas descriptions
Normalizacao OKF dos .md: type/title/description/timestamp/layer +
descriptions factuais (rich abstracts). Apenas .md tracked; corpos intactos.
Parte da aplicacao OKF a /Dados/Dev (28-06-2026).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 22:58:21 +01:00

107 lines
2.4 KiB
Markdown
Executable File

---
type: Reference
title: Readme
description: >-
API Node.js/Express com queries diretas à BD Desk CRM
timestamp: 2026-02-04T03:23:33.606360+00:00
layer: wiki
---
# 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