# ============================================================================= # ENVIRONMENT-INVENTORY.yml - ERP-SUITE # ============================================================================= # Inventario de Entorno de Desarrollo - Suite ERP Multi-vertical # Generado por: @PERFIL_DEVENV # Basado en: orchestration/templates/TEMPLATE-ENVIRONMENT-INVENTORY.yml # ============================================================================= version: "1.0.0" fecha_creacion: "2026-01-04" fecha_actualizacion: "2026-01-04" responsable: "@PERFIL_DEVENV" # ----------------------------------------------------------------------------- # IDENTIFICACION DEL PROYECTO # ----------------------------------------------------------------------------- proyecto: nombre: "ERP Suite" alias: "erp" nivel: "NIVEL_2B" tipo: "suite" estado: "desarrollo" descripcion: "Suite ERP con multiples verticales industriales" # ----------------------------------------------------------------------------- # HERRAMIENTAS Y RUNTIME # ----------------------------------------------------------------------------- herramientas: runtime: node: version: "20.x" requerido: true notas: "LTS recomendado para todos los modulos" package_managers: npm: version: "10.x" requerido: true pnpm: version: "8.x" requerido: false notas: "Alternativa para monorepo" build_tools: - nombre: "Vite" version: "5.x" uso: "Frontend build" - nombre: "TypeScript" version: "5.x" uso: "Compilacion" - nombre: "NestJS CLI" version: "10.x" uso: "Backend build" linters: - nombre: "ESLint" version: "8.x" config: ".eslintrc.js" - nombre: "Prettier" version: "3.x" config: ".prettierrc" testing: - nombre: "Jest" version: "29.x" tipo: "unit" config: "jest.config.js" - nombre: "Vitest" version: "1.x" tipo: "unit frontend" config: "vitest.config.ts" # ----------------------------------------------------------------------------- # SERVICIOS Y PUERTOS - CORE # ----------------------------------------------------------------------------- servicios: erp_core: frontend: nombre: "erp-core-frontend" framework: "React" version: "18.x" puerto: 3010 ubicacion: "apps/erp-core/frontend/" url_local: "http://localhost:3010" backend: nombre: "erp-core-backend" framework: "NestJS" version: "10.x" puerto: 3011 ubicacion: "apps/erp-core/backend/" url_local: "http://localhost:3011" api_prefix: "/api/v1" # ----------------------------------------------------------------------------- # SERVICIOS Y PUERTOS - VERTICALES # ----------------------------------------------------------------------------- verticales: construccion: frontend: puerto: 3020 ubicacion: "apps/verticales/construccion/frontend/" url_local: "http://localhost:3020" backend: puerto: 3021 ubicacion: "apps/verticales/construccion/backend/" url_local: "http://localhost:3021" db_puerto: 5433 redis_puerto: 6380 vidrio_templado: frontend: puerto: 3030 ubicacion: "apps/verticales/vidrio-templado/frontend/" url_local: "http://localhost:3030" backend: puerto: 3031 ubicacion: "apps/verticales/vidrio-templado/backend/" url_local: "http://localhost:3031" db_puerto: 5434 redis_puerto: 6381 mecanicas_diesel: frontend: puerto: 3040 ubicacion: "apps/verticales/mecanicas-diesel/frontend/" url_local: "http://localhost:3040" backend: puerto: 3041 ubicacion: "apps/verticales/mecanicas-diesel/backend/" url_local: "http://localhost:3041" retail: frontend: puerto: 3050 ubicacion: "apps/verticales/retail/frontend/" url_local: "http://localhost:3050" backend: puerto: 3051 ubicacion: "apps/verticales/retail/backend/" url_local: "http://localhost:3051" db_puerto: 5436 redis_puerto: 6383 clinicas: frontend: puerto: 3060 ubicacion: "apps/verticales/clinicas/frontend/" url_local: "http://localhost:3060" backend: puerto: 3061 ubicacion: "apps/verticales/clinicas/backend/" url_local: "http://localhost:3061" db_puerto: 5437 redis_puerto: 6384 # ----------------------------------------------------------------------------- # BASE DE DATOS # ----------------------------------------------------------------------------- base_de_datos: principal: engine: "PostgreSQL" version: "15" host: "localhost" puerto: 5432 ambientes: development: nombre: "erp_generic" usuario: "erp_admin" password_ref: "DB_PASSWORD en .env" test: nombre: "erp_test" usuario: "erp_admin" password_ref: "DB_PASSWORD en .env" schemas: - nombre: "public" descripcion: "Schema principal" - nombre: "core" descripcion: "Funcionalidades core compartidas" - nombre: "auth" descripcion: "Autenticacion y usuarios" conexion_ejemplo: "postgresql://erp_admin:{password}@localhost:5432/erp_generic" verticales_separadas: construccion: puerto: 5433 nombre: "erp_construccion" vidrio_templado: puerto: 5434 nombre: "erp_vidrio" retail: puerto: 5436 nombre: "erp_retail" clinicas: puerto: 5437 nombre: "erp_clinicas" redis: default: puerto: 6379 uso: "core cache" construccion: puerto: 6380 vidrio_templado: puerto: 6381 retail: puerto: 6383 clinicas: puerto: 6384 # ----------------------------------------------------------------------------- # VARIABLES DE ENTORNO # ----------------------------------------------------------------------------- variables_entorno: archivo_ejemplo: ".env.example" archivo_puertos: ".env.ports" variables: - nombre: "NODE_ENV" descripcion: "Ambiente de ejecucion" requerido: true sensible: false ejemplo: "development" - nombre: "ERP_CORE_PORT" descripcion: "Puerto del backend core" requerido: true sensible: false ejemplo: "3011" - nombre: "DATABASE_URL" descripcion: "Connection string de PostgreSQL" requerido: true sensible: true ejemplo: "postgresql://erp_admin:password@localhost:5432/erp_generic" - nombre: "JWT_SECRET" descripcion: "Secreto para JWT" requerido: true sensible: true ejemplo: "" # ----------------------------------------------------------------------------- # CONTENEDORES DOCKER # ----------------------------------------------------------------------------- docker: compose_file: "docker-compose.yml" services: - nombre: "db" imagen: "postgres:15-alpine" puerto_host: 5432 puerto_container: 5432 - nombre: "db-construccion" imagen: "postgres:15-alpine" puerto_host: 5433 puerto_container: 5432 - nombre: "redis" imagen: "redis:7-alpine" puerto_host: 6379 puerto_container: 6379 volumes: - nombre: "postgres_data" descripcion: "Datos de PostgreSQL core" networks: - nombre: "erp_network" driver: "bridge" # ----------------------------------------------------------------------------- # MAPA VISUAL DE PUERTOS # ----------------------------------------------------------------------------- # # ERP-CORE: # Frontend: 3010 # Backend: 3011 # # VERTICALES: # Construccion: 3020/3021 (DB: 5433, Redis: 6380) # Vidrio-Templado: 3030/3031 (DB: 5434, Redis: 6381) # Mecanicas-Diesel: 3040/3041 # Retail: 3050/3051 (DB: 5436, Redis: 6383) # Clinicas: 3060/3061 (DB: 5437, Redis: 6384) # # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # SCRIPTS DE DESARROLLO # ----------------------------------------------------------------------------- scripts: setup: descripcion: "Configurar entorno desde cero" pasos: - "npm install" - "cp .env.example .env" - "docker-compose up -d" - "npm run migration:run" desarrollo: core: "npm run dev:core" vertical: "npm run dev:vertical -- --name={vertical}" all: "npm run dev:all" testing: unit: "npm run test" e2e: "npm run test:e2e" build: all: "npm run build" core: "npm run build:core" # ----------------------------------------------------------------------------- # INSTRUCCIONES DE SETUP # ----------------------------------------------------------------------------- setup_instrucciones: | ## Setup del Entorno de Desarrollo - ERP Suite ### Prerequisitos - Node.js 20.x - PostgreSQL 15 (o Docker) - Redis 7 (o Docker) - npm 10.x ### Pasos 1. Clonar repositorio: ```bash git clone cd erp-suite ``` 2. Instalar dependencias: ```bash npm install ``` 3. Configurar variables de entorno: ```bash cp .env.example .env # Editar .env con valores locales ``` 4. Levantar servicios Docker: ```bash docker-compose up -d ``` 5. Ejecutar migraciones: ```bash npm run migration:run ``` 6. Iniciar desarrollo (core): ```bash npm run dev:core ``` 7. Iniciar vertical especifica: ```bash npm run dev:vertical -- --name=construccion ``` ### Verificar - Core Frontend: http://localhost:3010 - Core Backend: http://localhost:3011/api/v1 # ----------------------------------------------------------------------------- # TROUBLESHOOTING # ----------------------------------------------------------------------------- troubleshooting: - problema: "Conflicto de puertos entre verticales" solucion: "Verificar .env.ports. Cada vertical tiene rango asignado" - problema: "BD de vertical no conecta" solucion: "Verificar que docker-compose levanto el servicio de BD correcto" - problema: "Redis no disponible" solucion: "docker-compose up -d redis. Verificar puerto correcto para vertical" # ----------------------------------------------------------------------------- # REFERENCIAS # ----------------------------------------------------------------------------- referencias: perfil_devenv: "orchestration/agents/perfiles/PERFIL-DEVENV.md" inventario_master: "orchestration/inventarios/DEVENV-MASTER-INVENTORY.yml" inventario_puertos: "orchestration/inventarios/DEVENV-PORTS-INVENTORY.yml" env_ports: ".env.ports" # ============================================================================= # FIN DE INVENTARIO # =============================================================================