erp-construccion-backend/service.descriptor.yml

170 lines
4.7 KiB
YAML

# ==============================================================================
# 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"