erp-suite/orchestration/00-guidelines/CONTEXTO-PROYECTO.md

6.0 KiB

Contexto del Proyecto: ERP Suite

Metadatos

Campo Valor
Nombre ERP Suite - Productos Derivados
Tipo SUITE (contenedor de productos SaaS)
Nivel Productos derivados de erp-core
Estado En desarrollo
Version 1.0.0
Fecha Reorganizacion 2025-12-27

REORGANIZACION 2025-12-27

IMPORTANTE: La estructura de erp-suite fue reorganizada:

Componente Antes Ahora
erp-core erp-suite/apps/erp-core/ projects/erp-core/ (independiente)
verticales erp-suite/apps/verticales/ projects/erp-{vertical}/ (independientes)
products erp-suite/apps/products/ Se mantiene aqui
saas erp-suite/apps/saas/ Se mantiene aqui

Descripcion

ERP Suite ahora es el contenedor de productos derivados del erp-core:

  • products/erp-basico/ - ERP simplificado para PyMEs
  • products/pos-micro/ - Punto de venta minimalista
  • saas/billing/ - Infraestructura de facturacion de suscripciones
  • saas/portal/ - Portal de clientes

Nota: erp-core y las verticales son ahora proyectos independientes en projects/.

Stack Tecnológico

Backend (erp-core/backend)

  • Runtime: Node.js 20+
  • Framework: Express.js
  • Lenguaje: TypeScript 5.3+
  • ORM: TypeORM 0.3.17
  • Autenticación: JWT + bcryptjs
  • Validación: Zod, class-validator, class-transformer
  • Logger: Winston
  • HTTP Security: Helmet, CORS, express-rate-limit
  • Docs API: Swagger/OpenAPI

Frontend Web (erp-core/frontend)

  • Framework: React 18
  • Build Tool: Vite
  • Lenguaje: TypeScript
  • State Management: Zustand
  • Styling: Tailwind CSS
  • Validación: Zod

Base de Datos

  • Motor: PostgreSQL 15+
  • Extensiones: uuid-ossp, postgis, pg_trgm, btree_gist
  • Seguridad: Row-Level Security (RLS) con multi-tenant
  • Contexto: app.current_constructora_id para aislamiento

Frontend Mobile

  • Framework: React Native

Paths Críticos

/home/isem/workspace-v1/projects/erp-suite/
├── apps/
│   ├── erp-core/
│   │   ├── backend/src/            # Código backend principal
│   │   ├── frontend/src/           # Código frontend principal
│   │   └── database/               # DDL, migrations, seeds
│   └── verticales/
│       └── construccion/           # Vertical más avanzado (35%)
│           ├── backend/
│           ├── frontend/
│           └── database/
├── docs/
│   ├── 00-overview/                # Documentación general
│   ├── core/                       # Docs del erp-core
│   └── verticales/
│       └── construccion/           # 403+ archivos de especificaciones
│           ├── 01-fase-alcance-inicial/  # 15 módulos MAI-*
│           ├── 02-fase-enterprise/       # 3 épicas MAE-*
│           └── 02-modelado/database-design/  # Schemas SQL
└── orchestration/
    ├── 00-guidelines/              # Este archivo
    └── legacy-reference/           # Sistema de orquestación migrado

Convenciones de Código

Base de Datos

  • Schemas: snake_case + sufijo _management
  • Tablas: snake_case plural
  • Columnas: snake_case singular
  • Índices: idx_{tabla}_{columnas}
  • Foreign Keys: fk_{origen}_to_{destino}
  • Auditoría: created_at, updated_at, created_by, updated_by

Backend

  • Archivos: kebab-case.tipo.ts (ej: user-auth.service.ts)
  • Clases: PascalCase + sufijo (Entity, Service, Controller, Dto)
  • Variables: camelCase
  • Constantes: UPPER_SNAKE_CASE
  • Métodos: camelCase + verbo al inicio

Frontend

  • Componentes: PascalCase.tsx
  • Páginas: PascalCasePage.tsx
  • Hooks: useCamelCase.ts
  • Stores: camelCase.store.ts
  • Tipos: camelCase.types.ts

Verticales y Estado

Vertical Path Estado Prioridad
erp-core apps/erp-core/ 60% Alta
Construcción apps/verticales/construccion/ 35% Alta
Vidrio Templado apps/verticales/vidrio-templado/ 0% Media
Mecánicas Diesel apps/verticales/mecanicas-diesel/ 0% Baja
Retail apps/verticales/retail/ 0% Futura
Clínicas apps/verticales/clinicas/ 0% Futura

Directivas Específicas

  1. Validación obligatoria: Todo cambio debe validarse contra /docs/verticales/construccion/ para evitar alucinaciones
  2. Herencia de directivas: Este proyecto EXTIENDE las directivas de /home/isem/workspace-v1/core/orchestration/directivas/
  3. Multi-tenant: Toda consulta debe filtrar por constructora_id usando RLS
  4. Modularidad: Archivos <400 líneas, funciones <50 líneas
  5. Documentación: Actualizar docs cuando se modifique código relacionado

Schemas de Base de Datos

Schema Descripción Estado
auth_management Autenticación, usuarios, roles Definido
project_management Proyectos, desarrollos, fases Definido
financial_management Presupuestos, estimaciones Definido
purchasing_management Compras, proveedores Definido
construction_management Avances, recursos Definido
quality_management Inspecciones, calidad Definido
infonavit_management Integración INFONAVIT Definido

Referencias Clave

  • Documentación Principal: /docs/verticales/construccion/
  • DDL Schemas: /docs/verticales/construccion/02-modelado/database-design/schemas/
  • RLS Policies: /docs/verticales/construccion/01-fase-alcance-inicial/*/implementacion/*-rls-policies.sql
  • Patrones Odoo: /home/isem/workspace-v1/knowledge-base/patterns/
  • Sistema Legacy: /orchestration/legacy-reference/

Próximos Pasos

  1. Completar erp-core con módulos base (auth, usuarios, catálogos)
  2. Implementar schemas de base de datos
  3. Continuar desarrollo de vertical construcción
  4. Documentar APIs con Swagger

Última actualización: Diciembre 2025