20 KiB
Componentes Específicos de Construcción (No Migrar)
Documento: Análisis de Componentes Específicos de Construcción Proyecto: ERP Construcción Fecha: 2025-11-23 Analista: Architecture-Analyst Estado: Completado
Introducción
Este documento identifica los componentes del ERP Construcción que son específicos de la industria de construcción y que NO deben migrarse al ERP Genérico, sino permanecer en el proyecto erp-construccion.
Criterios para Considerar un Componente Específico
Un componente se considera específico de construcción si cumple al menos 2 de los siguientes criterios:
- Lógica de Negocio Única: Contiene reglas de negocio exclusivas de construcción/INFONAVIT
- Entidades Únicas: Maneja entidades que solo existen en construcción (lotes, manzanas, prototipos de vivienda)
- Regulaciones Específicas: Implementa cumplimiento normativo específico (INFONAVIT, IMSS construcción)
- Cálculos Especializados: Realiza cálculos únicos de construcción (estimaciones, curva S, avances físicos)
- Bajo Potencial de Reutilización: Menos del 30% de otros proyectos lo necesitarían
1. COMPONENTES DE BASE DE DATOS ESPECÍFICOS
1.1 Schemas Específicos de Construcción
| Schema | Ubicación | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
project_management |
construccion/database/ddl/ | Proyectos, manzanas, lotes, prototipos de vivienda | Estructura jerárquica única de fraccionamientos INFONAVIT | erp-construccion |
construction_management |
construccion/database/ddl/ | Control de obra, avances físicos, recursos de construcción | Lógica de control de obra específica | erp-construccion |
quality_management |
construccion/database/ddl/ | Inspecciones, pruebas de calidad, postventa de vivienda | QA específico de construcción | erp-construccion |
infonavit_management |
construccion/database/ddl/ | Integración INFONAVIT, cumplimiento normativo | Regulación específica México INFONAVIT | erp-construccion |
Total: 4 schemas específicos (de 7 totales)
1.2 Tablas Específicas por Schema
Schema: project_management (100% específico)
| Tabla | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
projects |
Proyectos de construcción | Campos específicos: tipo_vivienda, normas_infonavit, etapa_obra | erp-construccion |
development_phases |
Fases de desarrollo (etapas de obra) | Nomenclatura INFONAVIT, avances por etapa | erp-construccion |
blocks |
Manzanas del fraccionamiento | Concepto único de urbanización | erp-construccion |
lots |
Lotes individuales | Identificación catastral, escrituración | erp-construccion |
housing_prototypes |
Prototipos de vivienda | Modelos de casa (1 recámara, 2 recámaras, etc.) | erp-construccion |
prototype_assignments |
Asignación de prototipo a lote | Relación específica construcción | erp-construccion |
project_teams |
Equipos de proyecto | Roles específicos: residente, maestro de obra | erp-construccion |
project_milestones |
Hitos de proyecto de construcción | Hitos específicos: cimentación, estructura, acabados | erp-construccion |
Subtotal: 8 tablas específicas
Schema: construction_management (100% específico)
| Tabla | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
work_schedules |
Programas de obra | Curva S, ruta crítica | erp-construccion |
work_schedule_items |
Conceptos del programa | WBS específico de construcción | erp-construccion |
physical_progress |
Avances físicos de obra | Cálculo % avance por concepto | erp-construccion |
progress_evidence |
Evidencias fotográficas de avance | Geo-localización de fotos de obra | erp-construccion |
quality_checklists |
Checklists de calidad en obra | Listas específicas de construcción | erp-construccion |
construction_resources |
Recursos de construcción | Maquinaria, herramienta específica | erp-construccion |
labor_tracking |
Tracking de mano de obra | Jornal, cuadrillas, destajistas | erp-construccion |
material_usage |
Consumo de materiales en obra | Explosión de insumos por concepto | erp-construccion |
Subtotal: 8 tablas específicas
Schema: financial_management (10% específico)
| Tabla | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
construction_estimates |
Estimaciones de obra | Documento específico: generadores, números | erp-construccion |
Subtotal: 1 tabla específica (el resto es genérico)
Schema: quality_management (100% específico)
| Tabla | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
quality_inspections |
Inspecciones de calidad | Inspecciones específicas construcción | erp-construccion |
inspection_items |
Items de inspección | Checklist construcción (cimentación, muros, etc.) | erp-construccion |
test_results |
Resultados de pruebas | Pruebas de laboratorio (concreto, suelo) | erp-construccion |
non_conformities |
No conformidades | Issues específicos de construcción | erp-construccion |
warranty_claims |
Reclamaciones de garantía | Garantías de vivienda post-entrega | erp-construccion |
post_sale_services |
Servicios postventa | Atención post-entrega de vivienda | erp-construccion |
Subtotal: 6 tablas específicas
Schema: infonavit_management (100% específico)
| Tabla | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
beneficiaries |
Derechohabientes INFONAVIT | Específico México INFONAVIT | erp-construccion |
infonavit_credits |
Créditos INFONAVIT | NSS, monto crédito, modalidad | erp-construccion |
lot_assignments |
Asignación lote a derechohabiente | Proceso INFONAVIT de asignación | erp-construccion |
escrituracion |
Proceso de escrituración | Trámite legal específico | erp-construccion |
delivery_acts |
Actas de entrega-recepción | Documento legal entrega vivienda | erp-construccion |
infonavit_compliance |
Cumplimiento normativo INFONAVIT | Reportes regulatorios | erp-construccion |
housing_subsidies |
Subsidios de vivienda | Cofinavit, subsidios federales | erp-construccion |
Subtotal: 7 tablas específicas
Total Tablas Específicas: 30 tablas (de ~70 totales = 43%)
2. COMPONENTES DE BACKEND ESPECÍFICOS
2.1 Módulos Backend Específicos
| Módulo | Ubicación | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
projects |
backend/src/modules/projects/ | Gestión de proyectos de construcción | Lógica de fraccionamientos, manzanas, lotes | erp-construccion |
budgets |
backend/src/modules/budgets/ | Presupuestos de obra | Explosión de insumos, APUs construcción | erp-construccion |
construction |
backend/src/modules/construction/ | Control de obra y avances | Curva S, ruta crítica, avances físicos | erp-construccion |
estimates |
backend/src/modules/estimates/ | Estimaciones de obra | Generadores, números generadores | erp-construccion |
quality |
backend/src/modules/quality/ | Calidad y postventa | QA específico construcción | erp-construccion |
infonavit |
backend/src/modules/infonavit/ | Integración INFONAVIT | API INFONAVIT, cumplimiento | erp-construccion |
beneficiaries |
backend/src/modules/beneficiaries/ | CRM Derechohabientes | Gestión específica INFONAVIT | erp-construccion |
contracts |
backend/src/modules/contracts/ | Contratos de construcción | Contratos obra, subcontratistas | erp-construccion |
Total: 8 módulos backend específicos (de ~13 totales = 62%)
2.2 Servicios Específicos
| Servicio | Archivo | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
CurvaSCalculator |
services/curva-s.service.ts | Cálculo de curva S | Algoritmo específico construcción | erp-construccion |
PhysicalProgressCalculator |
services/progress.service.ts | Cálculo de avances físicos | Lógica de ponderación de conceptos | erp-construccion |
EstimateGenerator |
services/estimate.service.ts | Generación de estimaciones | Formato específico construcción | erp-construccion |
INFONAVITApiService |
services/infonavit-api.service.ts | Integración API INFONAVIT | API específica México | erp-construccion |
APUCalculator |
services/apu.service.ts | Análisis de precios unitarios | Explosión de insumos construcción | erp-construccion |
Total: 5 servicios específicos
3. COMPONENTES DE FRONTEND ESPECÍFICOS
3.1 Features Específicas
| Feature | Ubicación | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
projects |
frontend/src/features/projects/ | Gestión de proyectos de construcción | UI específica: manzanas, lotes | erp-construccion |
construction |
frontend/src/features/construction/ | Control de obra | Dashboard curva S, avances | erp-construccion |
estimates |
frontend/src/features/estimates/ | Estimaciones | Generadores, formato específico | erp-construccion |
quality |
frontend/src/features/quality/ | Calidad y postventa | Checklists construcción | erp-construccion |
infonavit |
frontend/src/features/infonavit/ | INFONAVIT | UI derechohabientes, créditos | erp-construccion |
beneficiaries |
frontend/src/features/beneficiaries/ | CRM Derechohabientes | Pipeline ventas INFONAVIT | erp-construccion |
Total: 6 features específicas
3.2 Componentes UI Específicos
| Componente | Archivo | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
LotSelector |
components/LotSelector.tsx | Selector de lotes en manzana | Visualización plano manzana | erp-construccion |
CurvaSChart |
components/CurvaSChart.tsx | Gráfica curva S | Chart específico construcción | erp-construccion |
ProgressTracker |
components/ProgressTracker.tsx | Tracker de avances | UI específica % avances | erp-construccion |
EstimateForm |
components/EstimateForm.tsx | Formulario de estimación | Generadores, conceptos obra | erp-construccion |
QualityChecklist |
components/QualityChecklist.tsx | Checklist de calidad | Items específicos construcción | erp-construccion |
PrototypeViewer |
components/PrototypeViewer.tsx | Visualizador de prototipos | Renders 3D de viviendas | erp-construccion |
INFONAVITForm |
components/INFONAVITForm.tsx | Formulario INFONAVIT | Campos específicos INFONAVIT | erp-construccion |
Total: 7 componentes UI específicos (de ~50 totales = 14%)
3.3 Páginas Específicas
| Página | Ruta | Descripción | Razón Específica | Permanece en |
|---|---|---|---|---|
| Projects List | /projects |
Lista de proyectos construcción | Filtros específicos construcción | erp-construccion |
| Project Detail | /projects/:id |
Detalle proyecto (manzanas, lotes) | Vista específica fraccionamiento | erp-construccion |
| Budgets | /budgets |
Presupuestos de obra | APUs, explosión insumos | erp-construccion |
| Construction Control | /construction |
Control de obra | Curva S, avances físicos | erp-construccion |
| Estimates | /estimates |
Estimaciones | Generadores, formato específico | erp-construccion |
| Quality | /quality |
Calidad y postventa | Inspecciones, garantías | erp-construccion |
| INFONAVIT | /infonavit |
Dashboard INFONAVIT | Derechohabientes, créditos | erp-construccion |
Total: 7 páginas específicas (de ~30 totales = 23%)
4. LÓGICA DE NEGOCIO ESPECÍFICA
4.1 Cálculos Especializados
| Cálculo | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
| Curva S | Programación de obra con curva S | Algoritmo específico construcción | erp-construccion |
| Avance Físico | Cálculo de % avance ponderado | Ponderación por concepto y monto | erp-construccion |
| Explosión de Insumos | APU → Materiales/Mano de obra | Análisis de precios unitarios | erp-construccion |
| Estimación de Obra | Generación de estimaciones | Formato constructor/supervisor | erp-construccion |
| Presupuesto de Prototipo | Presupuesto base por m² | Cálculo específico vivienda | erp-construccion |
4.2 Workflows Específicos
| Workflow | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
| Licitación → Obra → Entrega | Ciclo de vida proyecto construcción | Estados específicos construcción | erp-construccion |
| Asignación de Lotes | Derechohabiente → Lote | Proceso INFONAVIT | erp-construccion |
| Estimación → Pago | Flujo estimaciones de obra | Formato y aprobaciones específicas | erp-construccion |
| Inspección → Entrega | Calidad y entrega de vivienda | QA + acta entrega-recepción | erp-construccion |
4.3 Validaciones Específicas
| Validación | Descripción | Razón Específica | Permanece en |
|---|---|---|---|
| NSS válido | Validar Número de Seguro Social | Formato IMSS México | erp-construccion |
| Crédito INFONAVIT | Validar monto crédito vs precio vivienda | Reglas INFONAVIT | erp-construccion |
| % Avance Físico | Validar avance ≤ 100% | Lógica de control de obra | erp-construccion |
| Lote disponible | Validar lote no asignado | Regla de asignación única | erp-construccion |
5. RESUMEN CUANTITATIVO
| Categoría | Componentes Específicos | Componentes Totales | % Específico |
|---|---|---|---|
| Schemas DB | 4 | 7 | 57% |
| Tablas DB | 30 | 70+ | 43% |
| Módulos Backend | 8 | 13 | 62% |
| Servicios Backend | 5 | 12 | 42% |
| Features Frontend | 6 | 10 | 60% |
| Componentes UI | 7 | 50 | 14% |
| Páginas | 7 | 30+ | 23% |
| TOTAL | 67 componentes | 235+ componentes | ~29% |
Complemento:
- Componentes Genéricos: 143 (61%)
- Componentes Específicos: 67 (29%)
- Componentes Compartidos (adaptables): 25 (10%)
6. COMPONENTES COMPARTIDOS (Adaptar con Configuración)
Existen componentes que podrían compartirse entre genérico y específico mediante configuración:
| Componente | Tipo | Estrategia | Ubicación |
|---|---|---|---|
DataTable |
UI | Genérico con columnas configurables | erp-generic (shared) |
Dashboard |
UI | Template genérico + widgets específicos | erp-generic (template) + erp-construccion (widgets) |
Reports |
Backend | Motor de reportes genérico + templates específicos | erp-generic (engine) + erp-construccion (templates) |
Notifications |
Backend | Sistema genérico + eventos específicos | erp-generic (system) + erp-construccion (events) |
Workflows |
Backend | Engine genérico + estados específicos | erp-generic (engine) + erp-construccion (definitions) |
Total: 5 componentes compartidos/configurables
7. JUSTIFICACIÓN POR QUÉ NO MIGRAR
7.1 Bajo Potencial de Reutilización
Componentes de INFONAVIT:
- Uso: Solo México, solo vivienda social
- Proyectos que lo usarían: 1 (solo ERP Construcción)
- Reutilización: 0%
Componentes de Fraccionamientos:
- Uso: Específico de urbanización/vivienda horizontal
- Proyectos que lo usarían: 1-2 (solo construcción, quizá inmobiliaria)
- Reutilización: 10%
Componentes de Control de Obra:
- Uso: Construcción, posiblemente manufactura por proyectos
- Proyectos que lo usarían: 2 (construcción, mecánicas con adaptación)
- Reutilización: 20%
7.2 Complejidad de Abstracción
Algunos componentes específicos son tan complejos que intentar abstraerlos al genérico resultaría en:
- Over-engineering: Demasiada complejidad para soportar edge cases
- Pérdida de simplicidad: El genérico se volvería complejo
- Mantenibilidad reducida: Difícil de mantener
- ROI negativo: Más esfuerzo de abstracción que beneficio
Ejemplos:
- Curva S: Algoritmo complejo, específico construcción
- Estimaciones: Formato muy específico, regulado
- APUs: Explosión de insumos única construcción
8. ESTRATEGIA DE MANTENIMIENTO
8.1 Componentes Específicos en ERP Construcción
Ubicación:
projects/
└── erp-construccion/
├── apps/
│ ├── backend/
│ │ └── src/
│ │ └── modules/
│ │ ├── projects/ # Específico
│ │ ├── construction/ # Específico
│ │ ├── estimates/ # Específico
│ │ ├── quality/ # Específico
│ │ ├── infonavit/ # Específico
│ │ └── beneficiaries/ # Específico
│ │
│ └── frontend/
│ └── src/
│ └── features/
│ ├── projects/ # Específico
│ ├── construction/ # Específico
│ ├── estimates/ # Específico
│ └── infonavit/ # Específico
│
└── database/
└── ddl/
├── project_management/ # Específico
├── construction_management/ # Específico
├── quality_management/ # Específico
└── infonavit_management/ # Específico
8.2 Dependencias con ERP Genérico
ERP Construcción depende de ERP Genérico:
// erp-construccion/package.json
{
"dependencies": {
"@erp-generic/core": "^1.0.0", // Auth, RBAC, Companies
"@erp-generic/financial": "^1.0.0", // Contabilidad base
"@erp-generic/purchasing": "^1.0.0", // Compras base
"@erp-generic/ui-components": "^1.0.0" // Componentes UI
}
}
Relación:
- ERP Construcción EXTIENDE ERP Genérico
- ERP Construcción NO modifica ERP Genérico
- ERP Genérico es independiente de Construcción
9. CONCLUSIONES
9.1 Hallazgos Principales
- 29% de componentes son específicos: 67 de 235 componentes deben permanecer en ERP Construcción
- INFONAVIT es altamente específico: 7 tablas + 2 módulos + 2 features solo para México
- Control de Obra tiene potencial limitado: Solo 20% reutilización (construcción + mecánicas)
- UI es mayormente genérica: Solo 14% de componentes UI son específicos
9.2 Recomendaciones
- NO migrar componentes INFONAVIT: 0% reutilización en otros proyectos
- NO migrar componentes de fraccionamientos: Muy específicos de vivienda horizontal
- CONSIDERAR abstraer workflows: Motor de workflows genérico + estados específicos
- MANTENER separación clara: ERP Construcción extiende, no modifica Genérico
9.3 Validación de la Decisión
Criterios de éxito:
- ✅ ERP Genérico NO contiene lógica de construcción
- ✅ ERP Construcción puede evolucionar independientemente
- ✅ Otros proyectos (Vidrio, Mecánicas) NO necesitan componentes específicos construcción
- ✅ Mantenibilidad: Cada proyecto es responsable de su lógica específica
Fecha de Creación: 2025-11-23 Versión: 1.0 Estado: Completado Próximo Documento: MEJORAS-ARQUITECTONICAS.md