170 lines
4.7 KiB
YAML
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"
|