workspace/core/orchestration/inventarios/ANALISIS-PUERTOS-WORKSPACE.md
rckrdmrd 49155822ae fix: Resolve TypeScript compilation errors across all projects
Platform Marketing Content:
- Add PaginationParams, PaginationMeta, PaginatedResponse interfaces
- Fix JwtAuthGuard import paths (common/guards instead of modules/auth)
- Add missing fields to CRM interfaces (address, keywords, features, benefits)
- Install @nestjs/throttler dependency

ERP Suite - Construccion:
- Create tsconfig.node.json for web frontend
- Add vite-env.d.ts for Vite types
- Fix implicit return errors in Express controllers
- Prefix unused parameters with underscore

ERP Suite - ERP Core:
- Export PoolClient type from database config
- Fix invoice type comparison (customer/supplier vs out_invoice)
- Refactor base.service.ts query handling for proper type inference
- Rename Role type to RoleType to avoid conflict with entity
- Fix ProtectedRoute to use role?.name instead of roles array

ERP Suite - POS Micro:
- Add vite-env.d.ts for Vite types
- Fix Sale property names (discountAmount, changeAmount)
- Export TodaySummary interface from sales service

All projects now pass npm install and npm run build successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 22:35:55 -06:00

6.7 KiB

ANALISIS DE PUERTOS - WORKSPACE

Fecha: 2025-12-08 Generado por: Architecture-Analyst Con datos de: DevEnv Agent Version: 1.0.0


RESUMEN EJECUTIVO

Metrica Valor
Total proyectos escaneados 6
Total archivos de configuracion 40+
Total puertos configurados 87
Conflictos detectados 5
Conflictos P0 (criticos) 2
Conflictos P1 (importantes) 2
Conflictos P2 (recomendaciones) 1

HALLAZGOS CRITICOS (P0)

CONFLICT-001: Puerto 3000 Compartido

Severidad: P0 - CRITICO Puerto: 3000 Impacto: 4 proyectos no pueden ejecutarse simultaneamente

Proyecto Archivo Variable
erp-suite/erp-core .env.example PORT
erp-suite/mecanicas-diesel .env.example APP_PORT
erp-suite/pos-micro backend/.env.example PORT
platform_marketing_content apps/backend/.env.example PORT

Causa raiz: Se uso el puerto default de desarrollo (3000) sin considerar el estandar del workspace.

Resolucion propuesta:

erp-core:        3000 -> 3106  (rango erp-suite: 3100-3119)
mecanicas-diesel: 3000 -> 3166  (rango: 3160-3179)
pos-micro:       3000 -> 3226  (rango: 3220-3239)
pmc:             3000 -> 3606  (rango: 3600-3699)

CONFLICT-002: PostgreSQL 5432 Compartido

Severidad: P0 - CRITICO (condicional) Puerto: 5432 Impacto: Multiples proyectos comparten el puerto default de PostgreSQL

Proyecto Archivo
gamilit apps/backend/.env
trading-platform apps/database/.env
erp-suite/erp-core .env.example
erp-suite/mecanicas-diesel .env.example
platform_marketing_content apps/backend/.env.example

Analisis:

  • Si los proyectos corren en maquinas diferentes: ACEPTABLE
  • Si los proyectos corren en el mismo host: CONFLICTO

Resolucion propuesta:

# Para desarrollo en mismo host, usar puertos diferenciados:
gamilit:          5432 (produccion - mantener)
trading-platform: 5432 (ya diferenciado con test en 5433)
erp-core:         5440 (nuevo)
mecanicas-diesel: 5441 (nuevo)
pmc:              5442 (nuevo)

Nota: Los proyectos ERP-suite verticales ya tienen puertos diferenciados (5433-5437).


HALLAZGOS IMPORTANTES (P1)

CONFLICT-003: Vidrio-Templado vs Grafana

Severidad: P1 - IMPORTANTE Puerto: 3200

Proyecto Uso Archivo
erp-suite/vidrio-templado Backend API .env.example (APP_PORT)
trading-platform Grafana Monitoring .env.ports (GRAFANA_PORT)

Analisis: El backend de vidrio-templado (3200) colisiona con el puerto reservado para Grafana en trading-platform.

Resolucion propuesta:

vidrio-templado: 3200 -> 3146 (dentro de su rango: 3140-3159)

CONFLICT-004: PgAdmin Compartido

Severidad: P1 - IMPORTANTE Puerto: 5050

Proyecto Archivo
trading-platform docker-compose.yml
erp-suite/erp-core database/docker-compose.yml

Analisis: Herramienta de desarrollo, no corre simultaneamente. ACEPTABLE mantener como esta.

Resolucion: Ninguna requerida. Documentar que no deben ejecutarse simultaneamente.


RECOMENDACIONES (P2)

CONFLICT-005: Proyectos sin .env.ports

Los siguientes proyectos no tienen archivo centralizado de puertos:

  • erp-suite
  • betting-analytics
  • inmobiliaria-analytics
  • platform_marketing_content

Resolucion: Crear .env.ports en cada proyecto siguiendo el template de trading-platform.


ANALISIS DE CUMPLIMIENTO DEL ESTANDAR

Estandar Base (gamilit)

Frontend: 3005 (base + 5)
Backend:  3006 (base + 6)

Cumplimiento por Proyecto

Proyecto Cumple Estandar Observacion
gamilit SI Proyecto de referencia
trading-platform PARCIAL Tiene su propio esquema documentado
erp-suite/erp-core NO Usa 3000, deberia ser 3106
erp-suite/construccion NO Usa 3100, deberia ser 3126
erp-suite/vidrio-templado NO Usa 3200, deberia ser 3146
erp-suite/mecanicas-diesel NO Usa 3000, deberia ser 3166
erp-suite/retail NO Usa 3400, deberia ser 3186
erp-suite/clinicas NO Usa 3500, deberia ser 3206
erp-suite/pos-micro NO Usa 3000, deberia ser 3226
platform_marketing_content NO Usa 3000, deberia ser 3606
betting-analytics N/A Sin configurar
inmobiliaria-analytics N/A Sin configurar

MATRIZ DE PUERTOS PROPUESTOS

Backends (Patron: base + 6)

Proyecto Puerto Actual Puerto Propuesto Cambio Requerido
gamilit 3006 3006 NO
erp-core 3000 3106 SI
construccion 3100 3126 SI
vidrio-templado 3200 3146 SI
mecanicas-diesel 3000 3166 SI
retail 3400 3186 SI
clinicas 3500 3206 SI
pos-micro 3000 3226 SI
trading-platform 4000 4000 NO
pmc 3000 3606 SI

Frontends (Patron: base + 5)

Proyecto Puerto Actual Puerto Propuesto Cambio Requerido
gamilit 3005 3005 NO
erp-core - 3105 CREAR
construccion 5174 5174 o 3125 REVISAR
vidrio-templado 5175 5175 o 3145 REVISAR
trading-platform 3100 3100 NO
pmc - 3605 CREAR

VALIDACION DEL PLAN CONTRA REQUERIMIENTOS

Requerimiento 1: No conflictos de puertos

  • Estado: CUBIERTO
  • Validacion: Todas las propuestas eliminan conflictos existentes

Requerimiento 2: Seguir estandar gamilit

  • Estado: CUBIERTO
  • Validacion: Propuestas siguen patron base+5 (FE), base+6 (BE)

Requerimiento 3: Rangos por proyecto

  • Estado: CUBIERTO
  • Validacion: Cada proyecto tiene rango de 100 puertos asignado

Requerimiento 4: Documentacion actualizada

  • Estado: EN PROCESO
  • Validacion: Crear .env.ports en proyectos faltantes

Requerimiento 5: Puertos de produccion protegidos

  • Estado: CUBIERTO
  • Validacion: gamilit 3005/3006 no se modifican

RIESGOS IDENTIFICADOS

Riesgo Probabilidad Impacto Mitigacion
Cambio de puerto rompe configuracion existente ALTA MEDIO Actualizar todos los archivos .env simultaneamente
Frontend no conecta a nuevo backend MEDIA ALTO Actualizar VITE_API_URL junto con backend
Docker-compose desactualizado MEDIA MEDIO Verificar todos los docker-compose.yml
CI/CD con puertos hardcodeados BAJA ALTO Revisar pipelines de Jenkins

SIGUIENTE PASO

Ver: PLAN-CORRECCION-PUERTOS.md para el plan de implementacion detallado.


Version: 1.0.0 | Generado por: Architecture-Analyst + DevEnv