workspace-v1/projects/erp-construccion/docs/02-definicion-modulos/MAI-002-proyectos-estructura/implementacion/TRACEABILITY.yml
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

307 lines
9.7 KiB
YAML

# TRACEABILITY - MAI-002: Proyectos y Estructura de Obra
metadata:
modulo: MAI-002
nombre: Proyectos y Estructura de Obra
version: 1.0.0
fecha: 2025-12-06
reutilizacion_core: 40%
descripcion: >
Sistema de gestión de proyectos de construcción inmobiliaria con estructura jerárquica
(Fraccionamiento → Etapa → Manzana → Lote → Vivienda), prototipos de vivienda,
asignación de equipo y calendario de obra.
requerimientos:
- id: RF-PROJ-001
titulo: Catálogo de Proyectos
descripcion: >
Gestión completa de proyectos de construcción inmobiliaria incluyendo
fraccionamientos, conjuntos habitacionales y edificios verticales con
información general, ubicación, datos del cliente, permisos legales y
estados del ciclo de vida.
especificaciones:
- ET-PROJ-001-implementacion-catalogo-proyectos
- ET-PROJ-001-rls-policies
historias_usuario:
- US-PROJ-001-catalogo-proyectos
- US-PROJ-002-transiciones-estado
tablas:
- project_management.projects
- project_management.project_documents
- project_management.project_metrics
endpoints:
- POST /api/v1/projects
- GET /api/v1/projects
- GET /api/v1/projects/:id
- PATCH /api/v1/projects/:id
- POST /api/v1/projects/:id/change-status
- GET /api/v1/projects/:id/metrics
- GET /api/v1/projects/:id/dashboard
- POST /api/v1/projects/:id/documents
- GET /api/v1/projects/:id/documents
componentes_ui:
- ProjectList
- ProjectCard
- ProjectForm
- ProjectDetail
- ProjectDashboard
- ProjectMetrics
- ProjectStatusBadge
- ProjectDocuments
estado: pendiente
prioridad: P0
dependencias:
- RF-AUTH-002 (Roles y permisos)
- RF-AUTH-003 (Multi-tenancy por constructora)
validaciones:
- Nombre único por constructora
- Transiciones de estado válidas
- Monto contratado > 0
- Fecha inicio < fecha fin
- RFC válido (12-13 caracteres)
- id: RF-PROJ-002
titulo: Estructura Jerárquica de Obra
descripcion: >
Definición y gestión de la estructura jerárquica de proyectos de construcción
organizando el desarrollo en Etapas → Manzanas (opcional) → Lotes → Viviendas.
Permite rastrear avances físicos, asignar presupuestos y gestionar entregas
de forma granular.
especificaciones:
- ET-PROJ-002-implementacion-estructura-jerarquica
- ET-PROJ-002-rls-policies
historias_usuario:
- US-PROJ-003-estructura-fraccionamiento
- US-PROJ-004-estructura-torre-vertical
tablas:
- project_management.stages
- project_management.blocks
- project_management.lots
- project_management.housing_units
- project_management.unit_progress
endpoints:
- POST /api/v1/projects/:projectId/stages
- GET /api/v1/projects/:projectId/stages
- GET /api/v1/stages/:id
- PATCH /api/v1/stages/:id
- DELETE /api/v1/stages/:id
- POST /api/v1/stages/:stageId/blocks
- GET /api/v1/stages/:stageId/blocks
- POST /api/v1/blocks/:blockId/lots
- GET /api/v1/blocks/:blockId/lots
- PATCH /api/v1/lots/:id
- POST /api/v1/lots/:lotId/housing
- GET /api/v1/housing-units/:id
- PATCH /api/v1/housing-units/:id/status
- GET /api/v1/projects/:id/hierarchy
componentes_ui:
- StageList
- StageForm
- BlockList
- BlockForm
- LotList
- LotForm
- HousingUnitCard
- HousingUnitDetail
- ProjectHierarchyTree
- ProgressTracker
estado: pendiente
prioridad: P0
dependencias:
- RF-PROJ-001 (Catálogo de proyectos)
- RF-PROJ-003 (Prototipos - para asignación)
validaciones:
- Códigos únicos dentro del proyecto
- Jerarquía válida (lote → manzana → etapa)
- Suma de lotes = total declarado en etapa
- Área de lote > 0
- Estado secuencial (no saltar estados)
- id: RF-PROJ-003
titulo: Prototipos de Vivienda
descripcion: >
Creación y gestión de prototipos de vivienda estandarizados (casas, departamentos,
dúplex) que sirven como plantillas para asignación a lotes. Define características
arquitectónicas, áreas, distribución, acabados estándar y costos estimados.
especificaciones:
- ET-PROJ-003-implementacion-prototipos
historias_usuario:
- US-PROJ-005-gestion-prototipos
- US-PROJ-006-asignacion-prototipos-lotes
tablas:
- project_management.housing_prototypes
- project_management.prototype_versions
- project_management.prototype_documents
- project_management.prototype_costs
endpoints:
- POST /api/v1/prototypes
- GET /api/v1/prototypes
- GET /api/v1/prototypes/:id
- PATCH /api/v1/prototypes/:id
- DELETE /api/v1/prototypes/:id
- POST /api/v1/prototypes/:id/versions
- GET /api/v1/prototypes/:id/versions
- POST /api/v1/prototypes/:id/documents
- POST /api/v1/lots/bulk-assign-prototypes
componentes_ui:
- PrototypeList
- PrototypeCard
- PrototypeForm
- PrototypeDetail
- PrototypeVersionHistory
- PrototypeCostCalculator
- BulkPrototypeAssignment
- PrototypeComparison
estado: pendiente
prioridad: P1
dependencias:
- RF-PROJ-002 (Para asignación a lotes)
validaciones:
- Código único por constructora
- Área construida > 0
- Costo por m² > 0
- Versiones secuenciales
- Archivos válidos (PDF, JPG, PNG, DWG)
- id: RF-PROJ-004
titulo: Asignación de Equipo y Calendario
descripcion: >
Asignación de personal clave al proyecto (director, residentes, ingenieros,
supervisores) y gestión del calendario general de obra con hitos, fases
constructivas y fechas críticas para facilitar organización y seguimiento.
especificaciones:
- ET-PROJ-004-implementacion-equipo-calendario
historias_usuario:
- US-PROJ-007-asignacion-equipo
- US-PROJ-008-calendario-hitos
- US-PROJ-009-alertas-fechas-criticas
tablas:
- project_management.project_team_assignments
- project_management.project_milestones
- project_management.construction_phases
- project_management.critical_dates
- project_management.milestone_dependencies
endpoints:
- POST /api/v1/projects/:id/team-assignments
- GET /api/v1/projects/:id/team-assignments
- PATCH /api/v1/team-assignments/:id
- DELETE /api/v1/team-assignments/:id
- GET /api/v1/users/:userId/workload
- POST /api/v1/projects/:id/milestones
- GET /api/v1/projects/:id/milestones
- PATCH /api/v1/milestones/:id/complete
- POST /api/v1/projects/:id/phases
- GET /api/v1/projects/:id/phases
- POST /api/v1/projects/:id/critical-dates
- GET /api/v1/projects/:id/critical-dates
- GET /api/v1/projects/:id/calendar
componentes_ui:
- TeamAssignmentList
- TeamAssignmentForm
- WorkloadChart
- MilestoneList
- MilestoneForm
- MilestoneTimeline
- PhaseList
- PhaseGantt
- CriticalDatesList
- ProjectCalendar
- AlertsPanel
estado: pendiente
prioridad: P1
dependencias:
- RF-AUTH-002 (Usuarios y roles)
- RF-HR-001 (Empleados - para cuadrillas)
validaciones:
- Director único por proyecto
- Residente obligatorio en ejecución
- Límite de carga de trabajo por rol
- Fechas lógicas (inicio < fin)
- Dependencias de hitos válidas
cobertura:
rf_total: 4
rf_con_et: 4
rf_con_us: 9
rf_implementados: 0
porcentaje: 0%
metricas_desarrollo:
tablas_total: 17
endpoints_total: 52
componentes_ui_total: 43
validaciones_total: 20
dependencias_externas: 4
integracion:
modulos_core:
- MAI-001 (Autenticación y Multi-tenancy)
modulos_verticales:
- MAI-003 (Presupuesto - vinculación por etapa)
- MAI-004 (Compras e Inventarios - almacén por proyecto)
- MAI-005 (Control de Obra - avances por vivienda)
- MAI-007 (RRHH - cuadrillas asignadas)
stack_tecnologico:
backend:
- NestJS + TypeORM
- PostgreSQL 15+
- Event-driven architecture
frontend:
- React + TypeScript
- React Query (TanStack)
- Zod validation
- Shadcn/UI components
storage:
- S3-compatible para documentos
- PostGIS para coordenadas (opcional)
estados_entidades:
proyecto:
- licitacion
- adjudicado
- ejecucion
- entregado
- cerrado
etapa:
- planeada
- en_proceso
- terminada
- entregada
lote:
- disponible
- vendido
- en_construccion
- terminado
- entregado
vivienda:
- disponible
- en_proceso
- terminada
- entregada
hito:
- pending
- in_progress
- completed
- delayed
notas_implementacion:
- Implementar Row-Level Security (RLS) por constructoraId en todas las tablas
- Código de proyecto autogenerado: PROJ-{YEAR}-{SEQUENCE}
- Validar transiciones de estado con máquina de estados
- Calcular métricas de forma asíncrona (avances, costos)
- Emitir eventos para notificaciones (project.created, status_changed, etc.)
- Soportar versionado de prototipos sin afectar construcciones existentes
- Validar límites de carga de trabajo al asignar personal
- Implementar alertas automáticas para fechas críticas (cron job)
- Permitir estructura flexible (con/sin manzanas para edificios verticales)
- Mantener historial de asignaciones de equipo con fechas de inicio/fin
estimaciones:
esfuerzo_total: 8 semanas
desarrolladores: 2 full-stack
desglose:
- RF-PROJ-001: 2 semanas
- RF-PROJ-002: 3 semanas
- RF-PROJ-003: 1.5 semanas
- RF-PROJ-004: 1.5 semanas