# Despliegue ```mermaid flowchart LR browser["Navegador del usuario
HTTP"] --> angularDev["Angular dev server
ng serve
localhost:4200"] angularDev -- "Proxy /api
HTTP" --> node["Node.js + Express
backend/server.js
localhost:3000"] node -- "pg TCP" --> postgres[("PostgreSQL
localhost:5432
database: PGDATABASE")] node -- "HTTPS fetch
solo sincronizacion" --> socrata["datos.gov.co Socrata API
www.datos.gov.co/resource/*.json"] subgraph Frontend angularDev proxy["proxy.conf.json
/api -> http://localhost:3000"] end subgraph Backend node env["Variables de entorno
NODE_ENV, PORT, CORS_ORIGINS
PGHOST, PGUSER, PGDATABASE, PGPORT, PGPOOL_MAX
PGPASSWORD secreto
SOCRATA_APP_TOKEN secreto opcional
AUTH_TOKEN_SECRET secreto
AUTH_SESSION_HOURS
ADMIN_USERNAME, ADMIN_FULL_NAME
ADMIN_PASSWORD secreto"] end proxy --> node env --> node ``` ## Archivos analizados - `semillero/angular.json` - `semillero/proxy.conf.json` - `semillero/package.json` - `backend/package.json` - `backend/server.js` - `backend/src/server.js` - `backend/src/app.js` - `backend/src/config/env.js` - `backend/src/db/pool.js` - `backend/APIinvima.js` - `backend/APIinvima.json`