erp-core/docs/00-vision-general/VISION-ERP-CORE.md
rckrdmrd 4c4e27d9ba feat: Documentation and orchestration updates
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:35:20 -06:00

7.8 KiB

Vision General: ERP Core

Resumen Ejecutivo

ERP Core es la base generica reutilizable que proporciona el 60-70% del codigo compartido para todas las verticales del ERP Suite. Es una adaptacion de los patrones de Odoo al stack TypeScript/Node.js/React.


Proposito

Problema que Resuelve

Desarrollar ERPs verticales desde cero es costoso y repetitivo. El 60-70% de la funcionalidad es comun:

  • Autenticacion y usuarios
  • Multi-tenancy
  • Catalogos maestros
  • Partners (clientes/proveedores)
  • Productos e inventario
  • Ventas y compras
  • Contabilidad basica

Solucion

ERP Core provee esta funcionalidad comun de forma:

  • Modular: Cada modulo es independiente
  • Extensible: Las verticales pueden extender sin modificar
  • Multi-tenant: Aislamiento por tenant desde el diseno
  • Documentado: Documentacion antes de desarrollo

Objetivos

Corto Plazo (3 meses)

  1. Completar modulos core: Auth, Users, Roles, Tenants
  2. Implementar Partners y Products
  3. Establecer patrones de extension para verticales

Mediano Plazo (6 meses)

  1. Completar Sales, Purchases, Inventory
  2. Implementar Financial basico
  3. Primera vertical (Construccion) usando el core

Largo Plazo (12 meses)

  1. Todas las verticales usando el core
  2. SaaS layer para autocontratacion
  3. Marketplace de extensiones

Arquitectura

Modelo de Capas

┌─────────────────────────────────────────────────────────────┐
│                      FRONTEND                                │
│  React 18 + TypeScript + Tailwind + Zustand                 │
├─────────────────────────────────────────────────────────────┤
│                      API REST                                │
│  Express.js + TypeScript + Swagger                          │
├─────────────────────────────────────────────────────────────┤
│                      BACKEND                                 │
│  Modulos: Auth | Users | Partners | Products | Sales...     │
│  Services + Controllers + DTOs + Entities                   │
├─────────────────────────────────────────────────────────────┤
│                      DATABASE                                │
│  PostgreSQL 15+ con RLS (Row-Level Security)                │
│  Schemas: core_auth | core_partners | core_products...      │
└─────────────────────────────────────────────────────────────┘

Modelo de Extension

┌─────────────────────────────────────────────────────────────┐
│                       ERP CORE                               │
│  Modulos Genericos (MGN-001 a MGN-015)                      │
│  60-70% funcionalidad comun                                 │
└────────────────────────┬────────────────────────────────────┘
                         │ EXTIENDE
        ┌────────────────┼────────────────┐
        ↓                ↓                ↓
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Construccion  │ │Vidrio Templado│ │    Retail     │
│   (MAI-*)     │ │    (MVT-*)    │ │    (MRT-*)    │
│ 30-40% extra  │ │ 30-40% extra  │ │ 30-40% extra  │
└───────────────┘ └───────────────┘ └───────────────┘

Modulos Core (MGN-*)

Codigo Modulo Descripcion Prioridad Estado
MGN-001 auth Autenticacion JWT, OAuth, sessions P0 En desarrollo
MGN-002 users Gestion de usuarios CRUD P0 En desarrollo
MGN-003 roles Roles y permisos (RBAC) P0 Planificado
MGN-004 tenants Multi-tenancy, aislamiento P0 Planificado
MGN-005 catalogs Catalogos maestros genericos P1 Planificado
MGN-006 settings Configuracion del sistema P1 Planificado
MGN-007 audit Auditoria y logs P1 Planificado
MGN-008 notifications Sistema de notificaciones P2 Planificado
MGN-009 reports Reportes genericos P2 Planificado
MGN-010 financial Contabilidad basica P1 Planificado
MGN-011 inventory Inventario basico P1 Planificado
MGN-012 purchasing Compras basicas P1 Planificado
MGN-013 sales Ventas basicas P1 Planificado
MGN-014 crm CRM basico P2 Planificado
MGN-015 projects Proyectos genericos P2 Planificado

Stack Tecnologico

Backend

Tecnologia Version Proposito
Node.js 20+ Runtime
Express.js 4.x Framework HTTP
TypeScript 5.3+ Lenguaje
TypeORM 0.3.17 ORM
JWT + bcryptjs - Autenticacion
Zod, class-validator - Validacion
Swagger 3.x Documentacion API
Jest 29.x Testing

Frontend

Tecnologia Version Proposito
React 18.x Framework UI
Vite 5.x Build tool
TypeScript 5.3+ Lenguaje
Zustand 4.x State management
Tailwind CSS 4.x Styling
React Query 5.x Data fetching
React Hook Form 7.x Formularios

Database

Tecnologia Version Proposito
PostgreSQL 15+ Motor BD
RLS - Row-Level Security
uuid-ossp - Generacion UUIDs
pg_trgm - Busqueda fuzzy

Principios de Diseno

1. Multi-Tenancy First

Toda tabla tiene tenant_id. Todo query filtra por tenant.

2. Documentation Driven

Documentar antes de desarrollar. La documentacion es el contrato.

3. Extension over Modification

Las verticales extienden, nunca modifican el core.

4. Patterns from Odoo

Adaptar patrones probados de Odoo al stack TypeScript.

5. Single Source of Truth

Un lugar para cada dato. Sincronizacion automatica.


Entregables por Fase

Fase 1: Foundation (Actual)

  • MGN-001 Auth completo
  • MGN-002 Users completo
  • MGN-003 Roles completo
  • MGN-004 Tenants completo
  • Documentacion de todos los modulos

Fase 2: Core Business

  • MGN-005 Catalogs
  • MGN-010 Financial basico
  • MGN-011 Inventory
  • MGN-012 Purchasing
  • MGN-013 Sales

Fase 3: Extended

  • MGN-006 Settings
  • MGN-007 Audit
  • MGN-008 Notifications
  • MGN-009 Reports
  • MGN-014 CRM
  • MGN-015 Projects

Referencias

Recurso Path
Directivas orchestration/directivas/
Patrones Odoo orchestration/directivas/DIRECTIVA-PATRONES-ODOO.md
Templates orchestration/templates/
Catálogo central shared/catalog/ (patrones reutilizables)

Metricas de Exito

Metrica Objetivo
Cobertura de tests >80%
Documentacion 100% antes de desarrollo
Reutilizacion en verticales >60%
Tiempo de setup nueva vertical <1 semana

Ultima actualizacion: Diciembre 2025