Portal administrativo para el uso de agentes
  • TypeScript 90.4%
  • JavaScript 8.6%
  • Dockerfile 0.8%
  • HTML 0.2%
Find a file
mpacasi 7ca9e8850d Scripts de migracion de configuracion entre portales
- exportar-config.js: vuelca empresas, areas, harness, proyectos (ambientes
  y servidores MCP con headers descifrados) y credenciales LLM de la base
  local a un JSON; lista los usuarios para recrearlos a mano
- importar-config.js: idempotente, sin dependencias (Node 18+), importa el
  JSON via la API del portal destino, que re-cifra los secretos con su
  propia clave; corre dentro del contenedor api
- .gitignore: los exports (contienen secretos en claro) nunca se versionan

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-10-07 10:59:42 -04:00
backend Scripts de migracion de configuracion entre portales 2026-10-07 10:59:42 -04:00
frontend Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
scripts Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
.env.example Despliegue Docker: seed en produccion, CRED_SECRET y ADMIN_PASSWORD 2026-10-07 10:01:39 -04:00
.gitignore Scripts de migracion de configuracion entre portales 2026-10-07 10:59:42 -04:00
DISENO_PORTAL_ADMINISTRACION.md Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
DISENO_PORTAL_ADMINISTRACION.pdf Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
docker-compose.dev.yml Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
docker-compose.yml Despliegue Docker: seed en produccion, CRED_SECRET y ADMIN_PASSWORD 2026-10-07 10:01:39 -04:00
README.md Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
SECCIONES_CORREGIDAS_3.2_y_7.md Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00
SECCIONES_CORREGIDAS_3.2_y_7.pdf Portal de Administracion: version inicial completa 2026-10-07 09:30:12 -04:00

Portal de Administración — Workspace de Agentes · Exxis Group

Portal independiente de altas y bajas: administra Empresas, Áreas, Roles, Usuarios y Proyectos (agentes). Es la fuente de verdad de quién — la definición de cada agente vive en el harness (Gabinete Exxis) como Configuration Package versionado que el Proyecto referencia (harness_package + package_version).

Diseño: DISENO_PORTAL_ADMINISTRACION.pdf + SECCIONES_CORREGIDAS_3.2_y_7.md.

Stack

  • Backend: NestJS 10 + Prisma 5 + PostgreSQL 16 — API REST /api, JWT, guards por rol
  • Frontend: React 18 + Vite + Ant Design 5 — SPA servida por Nginx
  • Infraestructura: Docker / docker-compose (Linux); Node >= 22

Desarrollo (Windows/Linux)

Necesitas PostgreSQL accesible. Con Docker: docker compose -f docker-compose.dev.yml up -d. Sin Docker: instala PostgreSQL 16 y crea la BD/usuario del .env.

# 1. Backend
cd backend
copy .env.example .env          # ajusta DATABASE_URL si hace falta
npm install
npx prisma migrate dev          # crea el esquema (primera vez genera la migracion)
npm run prisma:seed             # roles base + Exxis Group + miriam.pacasi@exxis-group.com
npm run start:dev               # API en http://localhost:3000/api

# 2. Frontend (otra consola)
cd frontend
npm install
npm run dev                     # SPA en http://localhost:5173 (proxy /api -> :3000)

Login inicial: miriam.pacasi@exxis-group.com / la contraseña del seed (ADMIN_PASSWORD al correr el seed, por defecto Admin.2026 — cámbiala tras el primer login).

Producción (servidor Linux con Docker)

cp .env.example .env    # completar POSTGRES_PASSWORD, JWT_SECRET, SERVICE_TOKEN
docker compose up -d --build
docker compose run --rm api npx prisma db seed   # solo la primera vez

Único punto de entrada: web en el puerto 80 (Nginx sirve la SPA y hace proxy de /api). TLS: terminación delante de web (Traefik/Caddy o el reverse proxy corporativo). Respaldos: pg_dump programado. La BD no expone puerto al host.

Endpoints principales

Ruta Descripción Autorización
POST /api/auth/login JWT + datos del usuario Pública
GET /api/auth/me Perfil del usuario autenticado JWT
GET/POST/PATCH/DELETE /api/empresas CRUD (delete = baja lógica) Escritura: ADMIN
GET/POST/PATCH/DELETE /api/areas CRUD, ?empresaId= filtra Escritura: ADMIN, GESTOR
GET/POST/PATCH/DELETE /api/roles CRUD roles y permisos Escritura: ADMIN
GET/POST/PATCH/DELETE /api/usuarios CRUD, alta con contraseña temporal Escritura: ADMIN
PATCH /api/usuarios/:id/password Reset de contraseña ADMIN o el propio usuario
GET /api/usuarios/:id/proyectos Proyectos activos del usuario (Portal de Agentes) ADMIN o el propio usuario
GET/POST/PATCH/DELETE /api/proyectos CRUD proyectos/agentes Escritura: ADMIN, GESTOR
PUT /api/proyectos/:id/miembros Reemplaza la asignación de usuarios ADMIN, GESTOR
GET /api/proyectos/slug/:slug/config Config del agente para el harness Header x-service-token

Convenciones: paginación ?page=&pageSize=, búsqueda ?q=, respuestas { data, total }, mensajes de error en español.