# ============================================================================== # SERVICE DESCRIPTOR - ERP CONSTRUCCION API # ============================================================================== # API especializada para construccion residencial # Mantenido por: Backend-Agent # Actualizado: 2025-12-18 # ============================================================================== version: "1.0.0" # ------------------------------------------------------------------------------ # IDENTIFICACION DEL SERVICIO # ------------------------------------------------------------------------------ service: name: "erp-construccion-api" display_name: "ERP Construccion API" description: "API especializada para gestion de construccion residencial" type: "backend" runtime: "node" framework: "express" owner_agent: "NEXUS-BACKEND" # ------------------------------------------------------------------------------ # CONFIGURACION DE PUERTOS # ------------------------------------------------------------------------------ ports: internal: 3020 registry_ref: "projects.erp_suite.verticales.construccion.api" protocol: "http" # ------------------------------------------------------------------------------ # CONFIGURACION DE BASE DE DATOS # ------------------------------------------------------------------------------ database: registry_ref: "erp_construccion" schemas: - "construction" - "budgets" - "estimates" - "progress" - "hr" - "hse" - "inventory" - "purchase" role: "runtime" # ------------------------------------------------------------------------------ # DEPENDENCIAS # ------------------------------------------------------------------------------ dependencies: services: - name: "erp-core-api" type: "backend" required: true description: "Core ERP para auth y catalogos" - name: "postgres" type: "database" required: true # ------------------------------------------------------------------------------ # MODULOS ESPECIALIZADOS # ------------------------------------------------------------------------------ modules: construction: description: "Gestion de construccion" entities: - fraccionamiento - etapa - manzana - lote - prototipo endpoints: - { path: "/fraccionamientos", methods: ["GET", "POST"] } - { path: "/etapas", methods: ["GET", "POST"] } - { path: "/manzanas", methods: ["GET", "POST"] } - { path: "/lotes", methods: ["GET", "POST"] } budgets: description: "Presupuestos de obra" entities: - presupuesto - partida - concepto endpoints: - { path: "/presupuestos", methods: ["GET", "POST"] } estimates: description: "Estimaciones" entities: - estimacion - detalle_estimacion endpoints: - { path: "/estimaciones", methods: ["GET", "POST"] } progress: description: "Avance de obra" entities: - avance_obra - bitacora endpoints: - { path: "/avance-obra", methods: ["GET", "POST"] } hr: description: "Recursos humanos" entities: - empleado - nomina - asistencia hse: description: "Seguridad e higiene" entities: - incidente - capacitacion inventory: description: "Inventario de materiales" entities: - material - movimiento_inventario purchase: description: "Compras" entities: - orden_compra - proveedor # ------------------------------------------------------------------------------ # DOCKER # ------------------------------------------------------------------------------ docker: image: "erp-construccion-api" dockerfile: "Dockerfile" networks: - "erp_construccion_${ENV:-local}" - "erp_core_${ENV:-local}" - "infra_shared" labels: traefik: enable: true router: "erp-construccion-api" rule: "Host(`api.construccion.erp.localhost`)" # ------------------------------------------------------------------------------ # HEALTH CHECK # ------------------------------------------------------------------------------ healthcheck: endpoint: "/health" interval: "30s" timeout: "5s" retries: 3 # ------------------------------------------------------------------------------ # ESTADO # ------------------------------------------------------------------------------ status: phase: "development" version: "0.1.0" completeness: 40 # ------------------------------------------------------------------------------ # METADATA # ------------------------------------------------------------------------------ metadata: created_at: "2025-12-18" created_by: "Backend-Agent" project: "erp-suite" vertical: "construccion" team: "construccion-team"