erp-core/docs/PLAN-DOCUMENTACION-ERP-GENERICO.md

18 KiB

PLAN DE DOCUMENTACIÓN - ERP GENÉRICO

Proyecto: ERP Genérico (Base Reutilizable) Versión: 1.0.0 Fecha: 2025-11-24 Estado: 📋 En planificación


🎯 OBJETIVO

Crear la documentación completa del ERP Genérico, que servirá como base reutilizable para los 3 ERPs especializados:

  • ERP Construcción
  • ERP Vidrio Templado
  • ERP Mecánicas Diesel

El ERP Genérico contendrá los módulos core comunes a todos los sistemas ERP (autenticación, usuarios, catálogos, financiero básico, inventario básico, compras básico, CRM básico, etc.).


📚 REFERENCIAS

Documentación de Referencia

  • ERP Construcción: projects/erp-construccion/docs/ - Estructura y formato a seguir
  • Odoo Community Edition: shared/reference/ODOO-MODULES-ANALYSIS.md - Análisis de módulos
  • Proyecto GAMILIT: shared/reference/gamilit/ - Patrones arquitectónicos

Módulos Odoo de Referencia para ERP Genérico

Los siguientes módulos de Odoo serán analizados como referencia:

Módulo Odoo Aplicación en ERP Genérico Prioridad
base Sistema base, modelos fundamentales P0
auth_signup Autenticación y registro P0
web Framework web y API P0
account Módulo financiero básico P0
stock Inventario básico P0
purchase Compras básicas P0
sale Ventas básicas P0
crm CRM básico P1
hr Recursos humanos básico P1
project Proyectos genéricos P1
analytic Contabilidad analítica P0
portal Portal de usuarios externos P1
mail Sistema de mensajería y notificaciones P0

🔄 METODOLOGÍA: 3 ETAPAS

ETAPA 1: ANÁLISIS Y RETROALIMENTACIÓN (2-3 semanas)

Objetivo: Analizar módulos de Odoo, identificar mejores prácticas, y retroalimentar lo que ya se tiene del ERP Construcción.

Actividades:

  1. Análisis de Módulos Core de Odoo

    • Revisar cada módulo de referencia listado arriba
    • Documentar patrones arquitectónicos identificados
    • Documentar modelos de datos encontrados
    • Identificar relaciones entre módulos
    • Crear documentos de análisis en shared/analysis/odoo-comparison/
  2. Identificación de Componentes Reutilizables

    • Listar componentes que serán compartidos entre todos los ERPs
    • Definir qué va en shared/components/ vs qué va en cada proyecto
    • Crear mapa de dependencias entre componentes
  3. Retroalimentación al ERP Construcción

    • Comparar módulos del ERP Construcción con Odoo
    • Identificar gaps y oportunidades de mejora
    • Proponer ajustes arquitectónicos si es necesario
    • Documentar hallazgos en ADRs (Architecture Decision Records)
  4. Definición de Módulos del ERP Genérico

    • Listar módulos que serán parte del ERP Genérico
    • Definir alcance de cada módulo (qué incluye, qué no)
    • Establecer prioridades (P0, P1, P2)

Entregables Etapa 1:

  • Documento de análisis de cada módulo Odoo relevante
  • Mapa de componentes reutilizables
  • ADRs con decisiones arquitectónicas
  • Lista definitiva de módulos del ERP Genérico con alcance
  • Retroalimentación documentada para ERP Construcción

ETAPA 2: MODELADO DE REQUERIMIENTOS Y BASE DE DATOS (3-4 semanas)

Objetivo: Diseñar los modelos de dominio, requerimientos funcionales, y esquemas de base de datos para el ERP Genérico.

Actividades:

  1. Modelado de Dominio

    • Crear modelos de dominio por área funcional
    • Documentar entidades, atributos y relaciones
    • Guardar en shared/analysis/domain-models/
    • Crear diagramas UML/ER
  2. Definición de Requerimientos Funcionales (RF)

    • Para cada módulo del ERP Genérico, crear requerimientos funcionales
    • Usar formato de ERP Construcción como plantilla
    • Incluir casos de uso, reglas de negocio, validaciones
    • Estructura: RF-{MODULO}-{NNN}-titulo.md
  3. Diseño de Base de Datos

    • Diseñar schemas de PostgreSQL
    • Definir tablas, campos, tipos de datos
    • Crear enums, constraints, indices
    • Diseñar funciones PL/pgSQL reutilizables
    • Implementar RLS (Row Level Security) desde el diseño
    • Documentar en archivos DDL
  4. Especificaciones Técnicas (ET)

    • Para cada RF, crear especificación técnica correspondiente
    • Incluir detalles de implementación (API, BD, UI)
    • Estructura: ET-{MODULO}-{NNN}-titulo.md
  5. Trazabilidad

    • Crear matriz de trazabilidad RF ↔ ET ↔ Objetos de BD
    • Documentar en archivos YAML

Entregables Etapa 2:

  • Modelos de dominio por área funcional
  • Requerimientos funcionales completos (estimado: 40-50 RF)
  • Especificaciones técnicas completas (estimado: 40-50 ET)
  • Esquemas de base de datos diseñados (DDL completos)
  • Matriz de trazabilidad inicial

ETAPA 3: DOCUMENTACIÓN DETALLADA Y PREPARACIÓN (2-3 semanas)

Objetivo: Crear la estructura de documentación completa siguiendo el formato del ERP Construcción, y preparar para desarrollo.

Actividades:

  1. Creación de Estructura de Carpetas

    • Crear estructura similar a ERP Construcción
    • Organizar por fases (si aplica)
    • Crear carpetas de módulos con subcarpetas estándar
  2. Historias de Usuario (US)

    • Convertir RF/ET en historias de usuario ágiles
    • Formato: Como [rol] quiero [funcionalidad] para [beneficio]
    • Incluir criterios de aceptación
    • Estructura: US-{MODULO}-{NNN}-titulo.md
  3. Documentación de Módulos

    • Para cada módulo crear:
      • README.md - Descripción del módulo
      • _MAP.md - Índice maestro del módulo
      • Inventarios de implementación (DATABASE.yml, BACKEND.yml, FRONTEND.yml)
  4. Planes de Pruebas

    • Crear plan de pruebas por módulo
    • Definir casos de prueba (test cases)
    • Establecer criterios de cobertura (>80%)
  5. Documentación Transversal

    • Crear ESTRUCTURA-COMPLETA.md (similar a construcción)
    • Crear ROADMAP-DETALLADO.md
    • Crear guías de uso de referencias Odoo

Entregables Etapa 3:

  • Estructura completa de carpetas creada
  • Historias de usuario completas (estimado: 80-100 US)
  • Documentación de módulos (README.md, _MAP.md)
  • Planes de pruebas por módulo
  • Documentación transversal (ESTRUCTURA-COMPLETA.md, ROADMAP-DETALLADO.md)

📦 MÓDULOS PROPUESTOS PARA ERP GENÉRICO

Basado en el análisis de Odoo y las necesidades comunes de los 3 ERPs especializados:

Fase 1: Core Fundamental (Prioridad P0)

Código Nombre Descripción Referencia Odoo
MGN-001 Fundamentos Auth, usuarios, roles, multi-tenancy, RBAC base, auth_signup, web
MGN-002 Empresas y Organizaciones Gestión de empresas/organizaciones base (res.company)
MGN-003 Catálogos Maestros Catálogos comunes (países, monedas, UOM, etc.) base, product
MGN-004 Financiero Básico Cuentas, asientos, plan de cuentas account
MGN-005 Inventario Básico Productos, almacenes, movimientos stock
MGN-006 Compras Básico Órdenes de compra, proveedores purchase
MGN-007 Ventas Básico Cotizaciones, órdenes de venta, clientes sale
MGN-008 Contabilidad Analítica Cuentas analíticas, centros de costo analytic

Totales Fase 1:

  • Módulos: 8
  • RF estimados: ~40
  • ET estimados: ~40
  • US estimados: ~80
  • Duración: 8-10 semanas de documentación

Fase 2: Módulos Complementarios (Prioridad P1)

Código Nombre Descripción Referencia Odoo
MGN-009 CRM Básico Leads, oportunidades, pipeline crm
MGN-010 Recursos Humanos Básico Empleados, departamentos, contratos hr
MGN-011 Proyectos Genéricos Proyectos, tareas, seguimiento project
MGN-012 Reportes y Analytics Dashboards, reportes, exportación reporting (varios)
MGN-013 Portal de Usuarios Portal para clientes/proveedores portal
MGN-014 Mensajería y Notificaciones Sistema de mensajes, notificaciones mail

Totales Fase 2:

  • Módulos: 6
  • RF estimados: ~30
  • ET estimados: ~30
  • US estimados: ~60
  • Duración: 6-8 semanas de documentación

🏗️ ESTRUCTURA DE DOCUMENTACIÓN (Similar a ERP Construcción)

projects/erp-generic/
├── README.md                              # Descripción del proyecto
├── PROJECT-STATUS.md                      # Estado del proyecto
│
├── docs/
│   ├── 00-overview/                       # Documentación General
│   │   └── MVP-GENERICO.md                # Definición del ERP Genérico
│   │
│   ├── 01-analysis/                       # ETAPA 1: Análisis
│   │   ├── README.md
│   │   ├── odoo-analysis/                 # Análisis de módulos Odoo
│   │   │   ├── odoo-base-analysis.md
│   │   │   ├── odoo-account-analysis.md
│   │   │   ├── odoo-stock-analysis.md
│   │   │   └── ...
│   │   ├── component-mapping/             # Mapeo de componentes
│   │   │   └── shared-components-map.md
│   │   └── adr/                           # Architecture Decision Records
│   │       ├── ADR-001-stack-tecnologico.md
│   │       ├── ADR-002-arquitectura-modular.md
│   │       └── ...
│   │
│   ├── 02-requirements/                   # ETAPA 2: Requerimientos
│   │   ├── README.md
│   │   ├── domain-models/                 # Modelos de dominio
│   │   │   ├── auth-domain.md
│   │   │   ├── financial-domain.md
│   │   │   ├── inventory-domain.md
│   │   │   └── ...
│   │   └── database-design/               # Diseño de BD
│   │       ├── schemas/
│   │       │   ├── auth-schema.sql
│   │       │   ├── financial-schema.sql
│   │       │   └── ...
│   │       └── migrations/
│   │
│   ├── 03-architecture/                   # ETAPA 3: Arquitectura
│   │   ├── README.md
│   │   ├── system-architecture.md         # Arquitectura general
│   │   ├── api-design.md                  # Diseño de APIs
│   │   ├── security-architecture.md       # Arquitectura de seguridad
│   │   └── deployment-architecture.md     # Arquitectura de despliegue
│   │
│   ├── 01-fase-core/                      # Fase 1: Módulos Core
│   │   ├── README.md
│   │   ├── _MAP.md
│   │   │
│   │   ├── MGN-001-fundamentos/
│   │   │   ├── README.md
│   │   │   ├── _MAP.md
│   │   │   ├── requerimientos/
│   │   │   │   ├── RF-AUTH-001-autenticacion-jwt.md
│   │   │   │   ├── RF-AUTH-002-gestion-usuarios.md
│   │   │   │   └── ...
│   │   │   ├── especificaciones/
│   │   │   │   ├── ET-AUTH-001-jwt-implementation.md
│   │   │   │   ├── ET-AUTH-002-user-management-api.md
│   │   │   │   └── ...
│   │   │   ├── historias-usuario/
│   │   │   │   ├── US-FUND-001-login.md
│   │   │   │   ├── US-FUND-002-register.md
│   │   │   │   └── ...
│   │   │   ├── implementacion/
│   │   │   │   ├── TRACEABILITY.yml
│   │   │   │   ├── DATABASE.yml
│   │   │   │   ├── BACKEND.yml
│   │   │   │   └── FRONTEND.yml
│   │   │   └── pruebas/
│   │   │       ├── TEST-PLAN.md
│   │   │       └── TEST-CASES.md
│   │   │
│   │   ├── MGN-002-empresas-organizaciones/
│   │   ├── MGN-003-catalogos-maestros/
│   │   ├── MGN-004-financiero-basico/
│   │   ├── MGN-005-inventario-basico/
│   │   ├── MGN-006-compras-basico/
│   │   ├── MGN-007-ventas-basico/
│   │   └── MGN-008-contabilidad-analitica/
│   │
│   ├── 02-fase-complementaria/            # Fase 2: Módulos Complementarios
│   │   ├── README.md
│   │   ├── _MAP.md
│   │   │
│   │   ├── MGN-009-crm-basico/
│   │   ├── MGN-010-rrhh-basico/
│   │   ├── MGN-011-proyectos-genericos/
│   │   ├── MGN-012-reportes-analytics/
│   │   ├── MGN-013-portal-usuarios/
│   │   └── MGN-014-mensajeria-notificaciones/
│   │
│   ├── ESTRUCTURA-COMPLETA.md             # Estructura completa del proyecto
│   ├── ROADMAP-DETALLADO.md               # Roadmap detallado
│   └── GUIA-USO-REFERENCIAS-ODOO.md       # Guía de uso de referencias Odoo
│
├── apps/                                  # Código (a desarrollar después)
│   ├── database/
│   ├── backend/
│   ├── frontend/
│   └── mobile/
│
├── orchestration/                         # Orchestration local del proyecto
│   ├── agentes/
│   ├── prompts/
│   └── trazas/
│
└── bugs/                                  # Bugs del proyecto
    ├── BUGS-ACTIVOS.md
    └── BUGS-RESUELTOS.md

🤖 WORKFLOW CON AGENTE DE ARQUITECTURA

Preparación antes de lanzar el agente

  1. Configurar contexto del agente:

    • Cargar prompt de Architecture-Analyst
    • Proveer este plan de documentación
    • Proveer análisis de Odoo
    • Proveer estructura de ERP Construcción como referencia
  2. Definir tareas del agente por etapa:

ETAPA 1 - Tareas del Agente:

1. Analizar módulos de Odoo listados en la tabla de referencias
2. Para cada módulo crear documento de análisis:
   - Modelos de datos identificados
   - Patrones arquitectónicos observados
   - APIs y endpoints relevantes
   - Reglas de negocio encontradas
3. Crear ADRs para decisiones arquitectónicas clave
4. Generar mapa de componentes reutilizables
5. Revisar ERP Construcción y proponer retroalimentación

ETAPA 2 - Tareas del Agente:

1. Crear modelos de dominio para cada área funcional
2. Diseñar esquemas de base de datos (DDL completos)
3. Crear requerimientos funcionales (RF-XXX-NNN)
4. Crear especificaciones técnicas (ET-XXX-NNN)
5. Generar matriz de trazabilidad

ETAPA 3 - Tareas del Agente:

1. Crear estructura de carpetas completa
2. Generar historias de usuario (US-XXX-NNN)
3. Crear documentación de módulos (README, _MAP)
4. Crear planes de pruebas
5. Generar documentación transversal

Comando para lanzar el agente

# Una vez que este plan esté aprobado por el usuario:

# ETAPA 1:
Task tool → subagent_type: "general-purpose"
Prompt: "Ejecutar ETAPA 1 del plan de documentación del ERP Genérico ubicado en projects/erp-generic/docs/PLAN-DOCUMENTACION-ERP-GENERICO.md. Analizar módulos de Odoo listados, crear documentos de análisis, ADRs, y mapa de componentes. Usar como referencia shared/reference/ODOO-MODULES-ANALYSIS.md y la estructura de projects/erp-construccion/docs/"

# ETAPA 2:
Task tool → subagent_type: "general-purpose"
Prompt: "Ejecutar ETAPA 2 del plan de documentación del ERP Genérico. Crear modelos de dominio, diseñar esquemas de BD, crear RF y ET para todos los módulos listados en MGN-001 a MGN-014. Seguir formato de projects/erp-construccion/docs/01-fase-alcance-inicial/"

# ETAPA 3:
Task tool → subagent_type: "general-purpose"
Prompt: "Ejecutar ETAPA 3 del plan de documentación del ERP Genérico. Crear estructura completa, historias de usuario, documentación de módulos, planes de pruebas, y documentación transversal. Seguir exactamente la estructura de projects/erp-construccion/docs/"

📊 MÉTRICAS Y ESTIMACIONES

Esfuerzo Estimado

Etapa Duración Archivos a Crear Story Points
Etapa 1: Análisis 2-3 semanas ~20 archivos 40 SP
Etapa 2: Requerimientos 3-4 semanas ~100 archivos 80 SP
Etapa 3: Documentación 2-3 semanas ~150 archivos 60 SP
Total 7-10 semanas ~270 archivos 180 SP

Desglose de Archivos

Tipo Cantidad Estimada Por Módulo (14 módulos)
Análisis Odoo 12 archivos -
ADRs 8 archivos -
Modelos de dominio 10 archivos -
RF (Requerimientos) 70 archivos ~5 por módulo
ET (Especificaciones) 70 archivos ~5 por módulo
US (Historias) 140 archivos ~10 por módulo
README/MAP 28 archivos 2 por módulo
Otros 32 archivos -
Total ~370 archivos -

CRITERIOS DE COMPLETITUD

Etapa 1 completada cuando:

  • Todos los módulos Odoo listados han sido analizados
  • Se han creado al menos 5 ADRs
  • Existe mapa de componentes compartidos
  • Se ha revisado ERP Construcción y documentado retroalimentación
  • Lista definitiva de módulos MGN-001 a MGN-014 está aprobada

Etapa 2 completada cuando:

  • Existen modelos de dominio para todas las áreas
  • Todos los módulos tienen RF completos (~5 por módulo)
  • Todos los módulos tienen ET completos (~5 por módulo)
  • Esquemas de BD están diseñados (DDL completos)
  • Matriz de trazabilidad existe y está actualizada

Etapa 3 completada cuando:

  • Estructura de carpetas completa existe
  • Todos los módulos tienen US completos (~10 por módulo)
  • Todos los módulos tienen README.md y _MAP.md
  • Planes de pruebas existen para todos los módulos
  • ESTRUCTURA-COMPLETA.md y ROADMAP-DETALLADO.md existen

🎯 SIGUIENTE PASO INMEDIATO

ACCIÓN REQUERIDA:

  1. Revisar este plan con el equipo/stakeholders
  2. Aprobar alcance de módulos MGN-001 a MGN-014
  3. Validar metodología de 3 etapas
  4. Lanzar agente de arquitectura para ETAPA 1

Comando sugerido para iniciar:

Lanzar agente de arquitectura para ejecutar ETAPA 1 del plan de documentación del ERP Genérico.
Revisar módulos de Odoo, crear análisis, ADRs, y mapa de componentes.

📚 REFERENCIAS ADICIONALES


Creado: 2025-11-24 Versión: 1.0.0 Autor: Claude Code + Architecture Planning Estado: Plan completo listo para revisión