# 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:** ```yaml 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:** ```yaml # 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:** ```yaml 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