# =============================================================================
# TRAZABILIDAD: MAI-002 - PROYECTOS Y ESTRUCTURA
# =============================================================================
# Modulo: MAI-002 Proyectos y Estructura de Obra
# Fecha: 2025-11-25
# Version: 1.0.0
# Reutilizacion ERP Generico: 40%
# =============================================================================

metadata:
  modulo: MAI-002
  nombre: Proyectos y Estructura de Obra
  descripcion: Fraccionamientos, etapas, manzanas, lotes, torres y prototipos
  fecha_actualizacion: 2025-11-25
  responsable: Architecture-Analyst
  mapeo_generico: MGN-009 (parcial)
  porcentaje_reutilizacion: 40

# =============================================================================
# REQUERIMIENTOS FUNCIONALES
# =============================================================================
requerimientos:
  - id: RF-PROJ-001
    nombre: Catalogo de Proyectos
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/requerimientos-funcionales/RF-PROJ-001-catalogo-proyectos.md
    prioridad: P0
    estado: documentado
    descripcion: CRUD de fraccionamientos/proyectos de construccion
    especificaciones:
      - id: ET-PROJ-001
        nombre: Implementacion Catalogo Proyectos
        tipo: backend
        archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/especificaciones/ET-PROJ-001-implementacion-catalogo-proyectos.md
        estado: documentado
    tablas_bd:
      - construction.fraccionamientos
    endpoints_api:
      - GET /api/v1/fraccionamientos
      - POST /api/v1/fraccionamientos
      - GET /api/v1/fraccionamientos/{id}
      - PATCH /api/v1/fraccionamientos/{id}
      - DELETE /api/v1/fraccionamientos/{id}
    componentes_frontend:
      - FraccionamientoList
      - FraccionamientoForm
      - FraccionamientoDetail
      - ProjectStatusBadge

  - id: RF-PROJ-002
    nombre: Estructura Jerarquica de Obra
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/requerimientos-funcionales/RF-PROJ-002-estructura-jerarquica-obra.md
    prioridad: P0
    estado: documentado
    descripcion: Gestion de etapas, manzanas y lotes (horizontal) o torres, niveles y departamentos (vertical)
    especificaciones:
      - id: ET-PROJ-002
        nombre: Implementacion Estructura Jerarquica
        tipo: backend
        archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/especificaciones/ET-PROJ-002-implementacion-estructura-jerarquica.md
        estado: documentado
    tablas_bd:
      - construction.etapas
      - construction.manzanas
      - construction.lotes
      - construction.torres
      - construction.niveles
      - construction.departamentos
    endpoints_api:
      - GET /api/v1/fraccionamientos/{id}/etapas
      - POST /api/v1/etapas
      - GET /api/v1/etapas/{id}/manzanas
      - POST /api/v1/manzanas
      - GET /api/v1/manzanas/{id}/lotes
      - POST /api/v1/lotes
      - GET /api/v1/etapas/{id}/torres
      - POST /api/v1/torres
      - GET /api/v1/torres/{id}/niveles
      - POST /api/v1/niveles
      - GET /api/v1/niveles/{id}/departamentos
      - POST /api/v1/departamentos
    componentes_frontend:
      - EstructuraTree
      - EtapaForm
      - ManzanaForm
      - LoteForm
      - TorreForm
      - NivelForm
      - DepartamentoForm
      - LoteGrid
      - LoteMap

  - id: RF-PROJ-003
    nombre: Prototipos de Vivienda
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/requerimientos-funcionales/RF-PROJ-003-prototipos-vivienda.md
    prioridad: P0
    estado: documentado
    descripcion: Catalogo de prototipos y asignacion a lotes/departamentos
    especificaciones:
      - id: ET-PROJ-003
        nombre: Implementacion Prototipos
        tipo: backend
        archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/especificaciones/ET-PROJ-003-implementacion-prototipos.md
        estado: documentado
    tablas_bd:
      - construction.prototipos
    endpoints_api:
      - GET /api/v1/prototipos
      - POST /api/v1/prototipos
      - GET /api/v1/prototipos/{id}
      - PATCH /api/v1/prototipos/{id}
      - POST /api/v1/lotes/{id}/assign-prototipo
    componentes_frontend:
      - PrototipoList
      - PrototipoForm
      - PrototipoCard
      - PrototipoSelector
      - PrototipoAssignModal

  - id: RF-PROJ-004
    nombre: Asignacion de Equipo y Calendario
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/requerimientos-funcionales/RF-PROJ-004-asignacion-equipo-calendario.md
    prioridad: P1
    estado: documentado
    descripcion: Asignar personal y definir fechas clave del proyecto
    especificaciones:
      - id: ET-PROJ-004
        nombre: Implementacion Equipo y Calendario
        tipo: backend
        archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/especificaciones/ET-PROJ-004-implementacion-equipo-calendario.md
        estado: documentado
    tablas_bd:
      - construction.fraccionamientos
    endpoints_api:
      - GET /api/v1/fraccionamientos/{id}/team
      - POST /api/v1/fraccionamientos/{id}/team
      - PATCH /api/v1/fraccionamientos/{id}/dates
    componentes_frontend:
      - TeamAssignment
      - ProjectCalendar
      - MilestoneTimeline

# =============================================================================
# HISTORIAS DE USUARIO
# =============================================================================
historias_usuario:
  - id: US-PROJ-001
    nombre: Catalogo de Proyectos
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-001-catalogo-proyectos.md
    requerimientos: [RF-PROJ-001]

  - id: US-PROJ-002
    nombre: Transiciones de Estado
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-002-transiciones-estado.md
    requerimientos: [RF-PROJ-001]

  - id: US-PROJ-003
    nombre: Estructura Fraccionamiento
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-003-estructura-fraccionamiento.md
    requerimientos: [RF-PROJ-002]

  - id: US-PROJ-004
    nombre: Estructura Torre Vertical
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-004-estructura-torre-vertical.md
    requerimientos: [RF-PROJ-002]

  - id: US-PROJ-005
    nombre: Gestion de Prototipos
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-005-gestion-prototipos.md
    requerimientos: [RF-PROJ-003]

  - id: US-PROJ-006
    nombre: Asignacion Prototipos a Lotes
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-006-asignacion-prototipos-lotes.md
    requerimientos: [RF-PROJ-003]

  - id: US-PROJ-007
    nombre: Asignacion de Equipo
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-007-asignacion-equipo.md
    requerimientos: [RF-PROJ-004]

  - id: US-PROJ-008
    nombre: Calendario e Hitos
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-008-calendario-hitos.md
    requerimientos: [RF-PROJ-004]

  - id: US-PROJ-009
    nombre: Alertas de Fechas Criticas
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/historias-usuario/US-PROJ-009-alertas-fechas-criticas.md
    requerimientos: [RF-PROJ-004]

# =============================================================================
# ARCHIVOS SQL/RLS
# =============================================================================
archivos_implementacion:
  - tipo: rls_policies
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/implementacion/ET-PROJ-001-rls-policies.sql
  - tipo: rls_policies
    archivo: 01-fase-alcance-inicial/MAI-002-proyectos-estructura/implementacion/ET-PROJ-002-rls-policies.sql

# =============================================================================
# DEPENDENCIAS
# =============================================================================
dependencias:
  modulos_requeridos:
    - MAI-001  # Autenticacion y roles
  modulos_dependientes:
    - MAI-003  # Presupuestos por prototipo
    - MAI-005  # Avances por lote
    - MAI-008  # Estimaciones por proyecto
    - MAI-010  # Asignacion vivienda
    - MAI-011  # INFONAVIT por proyecto

# =============================================================================
# METRICAS DE COBERTURA
# =============================================================================
metricas:
  total_rf: 4
  total_et: 4
  total_us: 9
  total_tablas: 8
  cobertura_documentacion: 100%
  cobertura_implementacion: 0%

# =============================================================================
# FIN DEL ARCHIVO
# =============================================================================
