7.8 KiB
7.8 KiB
NAMING CONVENTIONS - ERP CONSTRUCCION
Convenciones de Nomenclatura Unificadas
Version: 1.0.0 Fecha: 2025-12-06 Estado: ACTIVO
1. SCHEMAS DE BASE DE DATOS
1.1 Nomenclatura Oficial
| Schema | Proposito | Tipo | Archivo DDL |
|---|---|---|---|
construction |
Proyectos, estructura de obra, avances, calidad, contratos | Especifico | construction-schema-ddl.sql |
estimates |
Presupuestos, estimaciones, generadores, anticipos | Especifico | estimates-schema-ddl.sql |
infonavit |
Integracion INFONAVIT, RUV, derechohabientes | Especifico | infonavit-schema-ddl.sql |
hr |
Extension RRHH: asistencias, destajo, cuadrillas | Extension | hr-ext-schema-ddl.sql |
inventory |
Extension Inventario: almacenes obra, requisiciones, consumos | Extension | inventory-ext-schema-ddl.sql |
purchase |
Extension Compras: OC construccion, comparativos | Extension | purchase-ext-schema-ddl.sql |
1.2 Mapeo de Nombres Anteriores (DEPRECADOS)
| Nombre Anterior | Nombre Actual | Accion |
|---|---|---|
project_management |
construction |
MIGRAR |
financial_management |
estimates |
MIGRAR |
hr_management |
hr |
MIGRAR |
purchasing_management |
purchase |
MIGRAR |
quality_management |
construction (integrado) |
ELIMINAR |
contract_management |
construction (integrado) |
ELIMINAR |
crm_management |
infonavit (integrado) |
ELIMINAR |
assets_management |
(Fase 2 - pendiente) | POSTERGAR |
documents_management |
(Fase 2 - pendiente) | POSTERGAR |
1.3 Justificacion de Consolidacion
Antes (11 schemas):
project_management, financial_management, hr_management,
purchasing_management, construction_management, quality_management,
infonavit_management, crm_management, contract_management,
assets_management, documents_management
Despues (6 schemas):
construction, estimates, infonavit, hr, inventory, purchase
Beneficios:
- Menos complejidad en queries cross-schema
- Alineacion con archivos DDL existentes
- Nombres cortos y claros
- Patron de extension consistente (_ext suffix)
2. CONVENCIONES DE TABLAS
2.1 Prefijos por Tipo
| Tipo | Prefijo | Ejemplo |
|---|---|---|
| Tabla master | (ninguno) | fraccionamientos, estimaciones |
| Tabla detalle | (ninguno, singular) | estimacion_conceptos |
| Tabla extension | (schema).table_ext | hr.employee_construction |
| Tabla pivot/relacion | (entidad1)_(entidad2) | cuadrilla_miembros |
| Tabla historico | (tabla)_history | estimaciones_history |
2.2 Nombres en Espanol vs Ingles
Regla General: Usar espanol para entidades de dominio mexicano, ingles para terminos tecnicos.
| Tipo | Idioma | Ejemplos |
|---|---|---|
| Entidades de dominio MX | Espanol | fraccionamientos, lotes, estimaciones, derechohabientes |
| Terminos INFONAVIT | Espanol | cofinavit, ruv, puntos_ecologicos |
| Campos tecnicos | Ingles | tenant_id, created_at, is_active |
| Campos de auditoria | Ingles | created_by, updated_at, deleted_at |
| Estados/Enums | Ingles | draft, approved, cancelled |
2.3 Sufijos Estandar
| Sufijo | Significado | Ejemplo |
|---|---|---|
_id |
Foreign key | fraccionamiento_id |
_at |
Timestamp | created_at, approved_at |
_by |
Usuario que ejecuto | created_by, approved_by |
_date |
Solo fecha | requisition_date |
_number |
Codigo/numero | requisition_number |
_amount |
Monto monetario | total_amount |
_quantity |
Cantidad | quantity_requested |
3. CONVENCIONES DE MODULOS
3.1 Codigos de Modulo
| Prefijo | Significado | Rango |
|---|---|---|
MAI- |
Modulo Alcance Inicial (Fase 1) | 001-019 |
MAE- |
Modulo Alcance Enterprise (Fase 2) | 014-016 |
MAA- |
Modulo Alcance Avanzado (Fase 3) | 017+ |
MOB- |
Aplicacion Movil | 001-005 |
3.2 Mapeo Modulo -> Schema
| Modulo | Schema Principal | Schemas Secundarios |
|---|---|---|
| MAI-001 | auth (core) | - |
| MAI-002 | construction | - |
| MAI-003 | estimates | construction |
| MAI-004 | purchase, inventory | construction |
| MAI-005 | construction | estimates |
| MAI-006 | (reportes - sin schema) | todos |
| MAI-007 | hr | construction |
| MAI-008 | estimates | construction |
| MAI-009 | construction | - |
| MAI-010 | infonavit | - |
| MAI-011 | infonavit | - |
| MAI-012 | construction | - |
| MAI-013 | (admin - usa core) | estimates |
| MAI-018 | construction | estimates |
4. CONVENCIONES DE CODIGO
4.1 Backend (Node.js/TypeScript)
// Entidades - PascalCase singular
class Fraccionamiento { }
class Estimacion { }
class DerechoHabiente { }
// Services - PascalCase + Service
class FraccionamientoService { }
class EstimacionService { }
// Controllers - PascalCase + Controller
class FraccionamientoController { }
// Repositories - PascalCase + Repository
class FraccionamientoRepository { }
// DTOs - PascalCase + sufijo
class CreateFraccionamientoDto { }
class UpdateFraccionamientoDto { }
class FraccionamientoResponseDto { }
// Archivos - kebab-case
fraccionamiento.entity.ts
fraccionamiento.service.ts
fraccionamiento.controller.ts
create-fraccionamiento.dto.ts
4.2 Frontend (React/TypeScript)
// Componentes - PascalCase
FraccionamientoList.tsx
FraccionamientoForm.tsx
FraccionamientoCard.tsx
// Hooks - camelCase con prefijo use
useFraccionamientos.ts
useEstimacion.ts
// Stores (Zustand) - camelCase + Store
fraccionamientoStore.ts
estimacionStore.ts
// Pages - PascalCase + Page
FraccionamientosPage.tsx
EstimacionDetailPage.tsx
// Archivos - kebab-case o PascalCase (consistente por proyecto)
4.3 API Endpoints
# Patron RESTful
GET /api/v1/construccion/fraccionamientos
GET /api/v1/construccion/fraccionamientos/:id
POST /api/v1/construccion/fraccionamientos
PUT /api/v1/construccion/fraccionamientos/:id
DELETE /api/v1/construccion/fraccionamientos/:id
# Recursos anidados
GET /api/v1/construccion/fraccionamientos/:id/etapas
GET /api/v1/construccion/fraccionamientos/:id/lotes
# Acciones especiales (verbos)
POST /api/v1/estimaciones/:id/aprobar
POST /api/v1/estimaciones/:id/facturar
5. CONVENCIONES DE DOCUMENTACION
5.1 Archivos de Especificacion
| Tipo | Prefijo | Ejemplo |
|---|---|---|
| Requerimiento Funcional | RF- |
RF-MAI002-001.md |
| Especificacion Tecnica | ET- |
ET-MAI002-DB-001.md |
| User Story | US- |
US-MAI002-001.md |
| ADR | ADR- |
ADR-001-arquitectura-multi-tenant.md |
5.2 Nomenclatura ET
ET-{MODULO}-{CAPA}-{NUMERO}.md
Capas:
- DB = Database
- BE = Backend
- FE = Frontend
- API = API/Integracion
- MOB = Mobile
6. ACTUALIZACIONES REQUERIDAS
6.1 Inventarios a Actualizar
MASTER_INVENTORY.yml- Cambiar nombres de schemasDATABASE_INVENTORY.yml- Alinear con DDL realDEPENDENCY_GRAPH.yml- Verificar referencias
6.2 Documentacion a Actualizar
- Especificaciones ET--DB- que referencian schemas antiguos
- MATRIZ-TRAZABILIDAD-COMPLETA.md
7. VALIDACION
7.1 Script de Validacion
#!/bin/bash
# validate-naming.sh
# Verificar que schemas en DDL coinciden con NAMING-CONVENTIONS
grep -r "CREATE SCHEMA" docs/04-modelado/database-design/schemas/*.sql
# Verificar referencias a schemas deprecados
grep -rn "project_management\|financial_management\|hr_management" .
7.2 Checklist de Cumplimiento
- Todos los DDL usan schemas oficiales
- MASTER_INVENTORY alineado
- DATABASE_INVENTORY alineado
- No hay referencias a schemas deprecados
- Entidades backend siguen convencion
- Componentes frontend siguen convencion
Fin del Documento
Autor: Requirements-Analyst Version: 1.0.0