🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| transversal | ||
| ET-auth-backend.md | ||
| ET-rbac-backend.md | ||
| ET-tenants-backend.md | ||
| ET-users-backend.md | ||
| generate_et.py | ||
| README.md | ||
ESPECIFICACIONES TÉCNICAS (ET) - ERP GENÉRICO
Fecha: 2025-11-24 Versión: 1.0 Total ET: 160 (80 Backend + 80 Frontend) Total Story Points: 673 SP Estado: Diseñado
Resumen Ejecutivo
Este directorio contiene las 160 Especificaciones Técnicas (ET) del ERP Genérico, derivadas de los 80 Requerimientos Funcionales (RF). Cada RF tiene:
- 1 ET-Backend: Implementación API, servicios, lógica de negocio (NestJS + Prisma)
- 1 ET-Frontend: Implementación UI/UX, componentes, integración (React + Ant Design)
Las ET proporcionan documentación técnica detallada ready-to-implement para desarrolladores, incluyendo:
- Código TypeScript real (no pseudocódigo)
- DTOs, servicios, controllers, componentes
- Tests unitarios y e2e
- Validaciones, seguridad, performance
- Referencias cruzadas a RF, BD, domain models
Resumen por Módulo
| Módulo | Nombre | ET Backend | ET Frontend | Total ET | Story Points |
|---|---|---|---|---|---|
| MGN-001 | Fundamentos | 8 | 8 | 16 | 68 SP |
| MGN-002 | Empresas y Organizaciones | 5 | 5 | 10 | 34 SP |
| MGN-003 | Catálogos Maestros | 6 | 6 | 12 | 29 SP |
| MGN-004 | Financiero Básico | 8 | 8 | 16 | 81 SP |
| MGN-005 | Inventario Básico | 7 | 7 | 14 | 66 SP |
| MGN-006 | Compras Básico | 6 | 6 | 12 | 42 SP |
| MGN-007 | Ventas Básico | 6 | 6 | 12 | 45 SP |
| MGN-008 | Contabilidad Analítica | 5 | 5 | 10 | 35 SP |
| MGN-009 | CRM Básico | 5 | 5 | 10 | 31 SP |
| MGN-010 | RRHH Básico | 5 | 5 | 10 | 29 SP |
| MGN-011 | Proyectos Genéricos | 5 | 5 | 10 | 40 SP |
| MGN-012 | Reportes y Analytics | 4 | 4 | 8 | 39 SP |
| MGN-013 | Portal de Usuarios | 4 | 4 | 8 | 29 SP |
| MGN-014 | Mensajería y Notificaciones | 6 | 6 | 12 | 47 SP |
| TOTAL | 14 módulos | 80 | 80 | 160 | 673 SP |
Estructura de Directorios
especificaciones-tecnicas/
├── README.md # Este archivo
├── generate_et.py # Script generador de ET
├── backend/ # 80 ET Backend
│ ├── mgn-001/ # Fundamentos (8 ET)
│ │ ├── ET-BACKEND-MGN-001-001-autenticacion-usuarios.md
│ │ ├── ET-BACKEND-MGN-001-002-gestion-roles.md
│ │ └── ...
│ ├── mgn-002/ # Empresas (5 ET)
│ ├── mgn-003/ # Catálogos (6 ET)
│ ├── mgn-004/ # Financiero (8 ET)
│ ├── mgn-005/ # Inventario (7 ET)
│ ├── mgn-006/ # Compras (6 ET)
│ ├── mgn-007/ # Ventas (6 ET)
│ ├── mgn-008/ # Analítica (5 ET)
│ ├── mgn-009/ # CRM (5 ET)
│ ├── mgn-010/ # RRHH (5 ET)
│ ├── mgn-011/ # Proyectos (5 ET)
│ ├── mgn-012/ # Reportes (4 ET)
│ ├── mgn-013/ # Portal (4 ET)
│ └── mgn-014/ # Mensajería (6 ET)
└── frontend/ # 80 ET Frontend
├── mgn-001/ # Fundamentos (8 ET)
│ ├── ET-FRONTEND-MGN-001-001-autenticacion-usuarios.md
│ ├── ET-FRONTEND-MGN-001-002-gestion-roles.md
│ └── ...
├── mgn-002/ # Empresas (5 ET)
└── ...
Índice de Especificaciones Técnicas
MGN-001: Fundamentos (68 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-001-001: Autenticación de Usuarios - 4 SP
- ET-BACKEND-MGN-001-002: Gestión de Roles y Permisos (RBAC) - 6 SP
- ET-BACKEND-MGN-001-003: Gestión de Usuarios - 4 SP
- ET-BACKEND-MGN-001-004: Multi-Tenancy con Schema-Level Isolation - 6 SP
- ET-BACKEND-MGN-001-005: Reset de Contraseña - 2 SP
- ET-BACKEND-MGN-001-006: Registro de Usuarios (Signup) - 2 SP
- ET-BACKEND-MGN-001-007: Gestión de Sesiones - 2 SP
- ET-BACKEND-MGN-001-008: Record Rules (Row Level Security) - 6 SP
Frontend
- ET-FRONTEND-MGN-001-001: Autenticación de Usuarios - 4 SP
- ET-FRONTEND-MGN-001-002: Gestión de Roles y Permisos (RBAC) - 6 SP
- ET-FRONTEND-MGN-001-003: Gestión de Usuarios - 4 SP
- ET-FRONTEND-MGN-001-004: Multi-Tenancy con Schema-Level Isolation - 6 SP
- ET-FRONTEND-MGN-001-005: Reset de Contraseña - 2 SP
- ET-FRONTEND-MGN-001-006: Registro de Usuarios (Signup) - 2 SP
- ET-FRONTEND-MGN-001-007: Gestión de Sesiones - 2 SP
- ET-FRONTEND-MGN-001-008: Record Rules (Row Level Security) - 6 SP
MGN-002: Empresas y Organizaciones (34 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-002-001: Gestión de Empresas - 4 SP
- ET-BACKEND-MGN-002-002: Configuración de Empresa - 2 SP
- ET-BACKEND-MGN-002-003: Asignación de Usuarios a Empresas (Multi-Empresa) - 4 SP
- ET-BACKEND-MGN-002-004: Jerarquías de Empresas (Holdings) - 2 SP
- ET-BACKEND-MGN-002-005: Plantillas de Configuración por País - 4 SP
Frontend
- ET-FRONTEND-MGN-002-001: Gestión de Empresas - 4 SP
- ET-FRONTEND-MGN-002-002: Configuración de Empresa - 2 SP
- ET-FRONTEND-MGN-002-003: Asignación de Usuarios a Empresas (Multi-Empresa) - 4 SP
- ET-FRONTEND-MGN-002-004: Jerarquías de Empresas (Holdings) - 2 SP
- ET-FRONTEND-MGN-002-005: Plantillas de Configuración por País - 4 SP
MGN-003: Catálogos Maestros (29 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-003-001: Gestión de Partners Universales - 4 SP
- ET-BACKEND-MGN-003-002: Gestión de Países y Regiones - 1 SP
- ET-BACKEND-MGN-003-003: Gestión de Monedas y Tasas de Cambio - 2 SP
- ET-BACKEND-MGN-003-004: Gestión de Unidades de Medida (UoM) - 2 SP
- ET-BACKEND-MGN-003-005: Gestión de Categorías de Productos - 1 SP
- ET-BACKEND-MGN-003-006: Condiciones de Pago (Payment Terms) - 2 SP
Frontend
- ET-FRONTEND-MGN-003-001: Gestión de Partners Universales - 4 SP
- ET-FRONTEND-MGN-003-002: Gestión de Países y Regiones - 1 SP
- ET-FRONTEND-MGN-003-003: Gestión de Monedas y Tasas de Cambio - 2 SP
- ET-FRONTEND-MGN-003-004: Gestión de Unidades de Medida (UoM) - 2 SP
- ET-FRONTEND-MGN-003-005: Gestión de Categorías de Productos - 1 SP
- ET-FRONTEND-MGN-003-006: Condiciones de Pago (Payment Terms) - 2 SP
MGN-004: Financiero Básico (81 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-004-001: Gestión de Plan de Cuentas - 4 SP
- ET-BACKEND-MGN-004-002: Gestión de Journals Contables - 2 SP
- ET-BACKEND-MGN-004-003: Registro de Asientos Contables - 6 SP
- ET-BACKEND-MGN-004-004: Gestión de Impuestos - 4 SP
- ET-BACKEND-MGN-004-005: Gestión de Facturas de Cliente - 6 SP
- ET-BACKEND-MGN-004-006: Gestión de Facturas de Proveedor - 6 SP
- ET-BACKEND-MGN-004-007: Gestión de Pagos y Conciliación - 6 SP
- ET-BACKEND-MGN-004-008: Reportes Financieros (Balance y P&L) - 4 SP
Frontend
- ET-FRONTEND-MGN-004-001: Gestión de Plan de Cuentas - 4 SP
- ET-FRONTEND-MGN-004-002: Gestión de Journals Contables - 2 SP
- ET-FRONTEND-MGN-004-003: Registro de Asientos Contables - 6 SP
- ET-FRONTEND-MGN-004-004: Gestión de Impuestos - 4 SP
- ET-FRONTEND-MGN-004-005: Gestión de Facturas de Cliente - 6 SP
- ET-FRONTEND-MGN-004-006: Gestión de Facturas de Proveedor - 6 SP
- ET-FRONTEND-MGN-004-007: Gestión de Pagos y Conciliación - 6 SP
- ET-FRONTEND-MGN-004-008: Reportes Financieros (Balance y P&L) - 4 SP
MGN-005: Inventario Básico (66 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-005-001: Gestión de Productos - 4 SP
- ET-BACKEND-MGN-005-002: Gestión de Almacenes y Ubicaciones - 4 SP
- ET-BACKEND-MGN-005-003: Movimientos de Stock - 6 SP
- ET-BACKEND-MGN-005-004: Pickings (Albaranes de Entrada/Salida) - 4 SP
- ET-BACKEND-MGN-005-005: Trazabilidad (Lotes y Números de Serie) - 4 SP
- ET-BACKEND-MGN-005-006: Valoración de Inventario (FIFO, Promedio) - 6 SP
- ET-BACKEND-MGN-005-007: Inventario Físico y Ajustes - 4 SP
Frontend
- ET-FRONTEND-MGN-005-001: Gestión de Productos - 4 SP
- ET-FRONTEND-MGN-005-002: Gestión de Almacenes y Ubicaciones - 4 SP
- ET-FRONTEND-MGN-005-003: Movimientos de Stock - 6 SP
- ET-FRONTEND-MGN-005-004: Pickings (Albaranes de Entrada/Salida) - 4 SP
- ET-FRONTEND-MGN-005-005: Trazabilidad (Lotes y Números de Serie) - 4 SP
- ET-FRONTEND-MGN-005-006: Valoración de Inventario (FIFO, Promedio) - 6 SP
- ET-FRONTEND-MGN-005-007: Inventario Físico y Ajustes - 4 SP
MGN-006: Compras Básico (42 SP)
Core Phase - P0/P1
Backend
- ET-BACKEND-MGN-006-001: Solicitudes de Cotización (RFQ) - 2 SP
- ET-BACKEND-MGN-006-002: Gestión de Órdenes de Compra - 6 SP
- ET-BACKEND-MGN-006-003: Workflow de Aprobación de Compras - 2 SP
- ET-BACKEND-MGN-006-004: Recepciones de Compras - 4 SP
- ET-BACKEND-MGN-006-005: Facturación de Proveedores desde Compras - 4 SP
- ET-BACKEND-MGN-006-006: Reportes de Compras - 1 SP
Frontend
- ET-FRONTEND-MGN-006-001: Solicitudes de Cotización (RFQ) - 2 SP
- ET-FRONTEND-MGN-006-002: Gestión de Órdenes de Compra - 6 SP
- ET-FRONTEND-MGN-006-003: Workflow de Aprobación de Compras - 2 SP
- ET-FRONTEND-MGN-006-004: Recepciones de Compras - 4 SP
- ET-FRONTEND-MGN-006-005: Facturación de Proveedores desde Compras - 4 SP
- ET-FRONTEND-MGN-006-006: Reportes de Compras - 1 SP
MGN-007: Ventas Básico (45 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-007-001: Gestión de Cotizaciones - 4 SP
- ET-BACKEND-MGN-007-002: Conversión a Órdenes de Venta - 2 SP
- ET-BACKEND-MGN-007-003: Gestión de Órdenes de Venta - 6 SP
- ET-BACKEND-MGN-007-004: Entregas de Ventas - 4 SP
- ET-BACKEND-MGN-007-005: Facturación de Clientes desde Ventas - 4 SP
- ET-BACKEND-MGN-007-006: Reportes de Ventas - 1 SP
Frontend
- ET-FRONTEND-MGN-007-001: Gestión de Cotizaciones - 4 SP
- ET-FRONTEND-MGN-007-002: Conversión a Órdenes de Venta - 2 SP
- ET-FRONTEND-MGN-007-003: Gestión de Órdenes de Venta - 6 SP
- ET-FRONTEND-MGN-007-004: Entregas de Ventas - 4 SP
- ET-FRONTEND-MGN-007-005: Facturación de Clientes desde Ventas - 4 SP
- ET-FRONTEND-MGN-007-006: Reportes de Ventas - 1 SP
MGN-008: Contabilidad Analítica (35 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-008-001: Gestión de Cuentas Analíticas - 4 SP
- ET-BACKEND-MGN-008-002: Registro de Líneas Analíticas - 4 SP
- ET-BACKEND-MGN-008-003: Distribución Analítica Multi-Cuenta - 4 SP
- ET-BACKEND-MGN-008-004: Tags Analíticos - 1 SP
- ET-BACKEND-MGN-008-005: Reportes Analíticos (P&L por Proyecto) - 4 SP
Frontend
- ET-FRONTEND-MGN-008-001: Gestión de Cuentas Analíticas - 4 SP
- ET-FRONTEND-MGN-008-002: Registro de Líneas Analíticas - 4 SP
- ET-FRONTEND-MGN-008-003: Distribución Analítica Multi-Cuenta - 4 SP
- ET-FRONTEND-MGN-008-004: Tags Analíticos - 1 SP
- ET-FRONTEND-MGN-008-005: Reportes Analíticos (P&L por Proyecto) - 4 SP
MGN-009: CRM Básico (31 SP)
Complementary Phase - P1
Backend
- ET-BACKEND-MGN-009-001: Gestión de Leads y Oportunidades - 4 SP
- ET-BACKEND-MGN-009-002: Pipeline de Ventas (Kanban) - 4 SP
- ET-BACKEND-MGN-009-003: Actividades y Seguimiento - 2 SP
- ET-BACKEND-MGN-009-004: Lead Scoring y Calificación - 2 SP
- ET-BACKEND-MGN-009-005: Conversión a Cotización - 2 SP
Frontend
- ET-FRONTEND-MGN-009-001: Gestión de Leads y Oportunidades - 4 SP
- ET-FRONTEND-MGN-009-002: Pipeline de Ventas (Kanban) - 4 SP
- ET-FRONTEND-MGN-009-003: Actividades y Seguimiento - 2 SP
- ET-FRONTEND-MGN-009-004: Lead Scoring y Calificación - 2 SP
- ET-FRONTEND-MGN-009-005: Conversión a Cotización - 2 SP
MGN-010: RRHH Básico (29 SP)
Complementary Phase - P1
Backend
- ET-BACKEND-MGN-010-001: Gestión de Empleados - 4 SP
- ET-BACKEND-MGN-010-002: Departamentos y Puestos - 1 SP
- ET-BACKEND-MGN-010-003: Contratos Laborales - 2 SP
- ET-BACKEND-MGN-010-004: Asistencias (Check-in/Check-out) - 2 SP
- ET-BACKEND-MGN-010-005: Ausencias y Permisos - 4 SP
Frontend
- ET-FRONTEND-MGN-010-001: Gestión de Empleados - 4 SP
- ET-FRONTEND-MGN-010-002: Departamentos y Puestos - 1 SP
- ET-FRONTEND-MGN-010-003: Contratos Laborales - 2 SP
- ET-FRONTEND-MGN-010-004: Asistencias (Check-in/Check-out) - 2 SP
- ET-FRONTEND-MGN-010-005: Ausencias y Permisos - 4 SP
MGN-011: Proyectos Genéricos (40 SP)
Complementary Phase - P1
Backend
- ET-BACKEND-MGN-011-001: Gestión de Proyectos - 4 SP
- ET-BACKEND-MGN-011-002: Gestión de Tareas (Kanban) - 6 SP
- ET-BACKEND-MGN-011-003: Milestones (Hitos) - 1 SP
- ET-BACKEND-MGN-011-004: Timesheet de Proyectos - 4 SP
- ET-BACKEND-MGN-011-005: Vista Gantt de Proyectos - 4 SP
Frontend
- ET-FRONTEND-MGN-011-001: Gestión de Proyectos - 4 SP
- ET-FRONTEND-MGN-011-002: Gestión de Tareas (Kanban) - 6 SP
- ET-FRONTEND-MGN-011-003: Milestones (Hitos) - 1 SP
- ET-FRONTEND-MGN-011-004: Timesheet de Proyectos - 4 SP
- ET-FRONTEND-MGN-011-005: Vista Gantt de Proyectos - 4 SP
MGN-012: Reportes y Analytics (39 SP)
Complementary Phase - P1
Backend
- ET-BACKEND-MGN-012-001: Dashboards Configurables - 6 SP
- ET-BACKEND-MGN-012-002: Query Builder y Reportes Personalizados - 6 SP
- ET-BACKEND-MGN-012-003: Exportación de Datos (PDF, Excel, CSV) - 2 SP
- ET-BACKEND-MGN-012-004: Gráficos y Visualizaciones - 4 SP
Frontend
- ET-FRONTEND-MGN-012-001: Dashboards Configurables - 6 SP
- ET-FRONTEND-MGN-012-002: Query Builder y Reportes Personalizados - 6 SP
- ET-FRONTEND-MGN-012-003: Exportación de Datos (PDF, Excel, CSV) - 2 SP
- ET-FRONTEND-MGN-012-004: Gráficos y Visualizaciones - 4 SP
MGN-013: Portal de Usuarios (29 SP)
Complementary Phase - P1
Backend
- ET-BACKEND-MGN-013-001: Acceso Portal para Clientes - 4 SP
- ET-BACKEND-MGN-013-002: Vista de Documentos en Portal - 4 SP
- ET-BACKEND-MGN-013-003: Aprobación y Firma Electrónica - 4 SP
- ET-BACKEND-MGN-013-004: Mensajería en Portal - 2 SP
Frontend
- ET-FRONTEND-MGN-013-001: Acceso Portal para Clientes - 4 SP
- ET-FRONTEND-MGN-013-002: Vista de Documentos en Portal - 4 SP
- ET-FRONTEND-MGN-013-003: Aprobación y Firma Electrónica - 4 SP
- ET-FRONTEND-MGN-013-004: Mensajería en Portal - 2 SP
MGN-014: Mensajería y Notificaciones (47 SP)
Core Phase - P0 (MVP)
Backend
- ET-BACKEND-MGN-014-001: Sistema de Mensajes (Chatter) - 6 SP
- ET-BACKEND-MGN-014-002: Notificaciones In-App y Email - 4 SP
- ET-BACKEND-MGN-014-003: Tracking Automático de Cambios - 4 SP
- ET-BACKEND-MGN-014-004: Actividades Programadas - 4 SP
- ET-BACKEND-MGN-014-005: Followers (Seguidores) - 2 SP
- ET-BACKEND-MGN-014-006: Templates de Email - 2 SP
Frontend
- ET-FRONTEND-MGN-014-001: Sistema de Mensajes (Chatter) - 6 SP
- ET-FRONTEND-MGN-014-002: Notificaciones In-App y Email - 4 SP
- ET-FRONTEND-MGN-014-003: Tracking Automático de Cambios - 4 SP
- ET-FRONTEND-MGN-014-004: Actividades Programadas - 4 SP
- ET-FRONTEND-MGN-014-005: Followers (Seguidores) - 2 SP
- ET-FRONTEND-MGN-014-006: Templates de Email - 2 SP
Contenido de cada ET
ET-Backend
Cada especificación técnica backend incluye:
- Metadata: RF asociado, módulo, complejidad, SP, estado, fecha
- Stack Tecnológico: Node.js, NestJS, Prisma, PostgreSQL
- Arquitectura del Endpoint: Documentación completa de API RESTful
- Modelo de Datos: Prisma schema basado en DDL SQL
- DTOs: Create, Update, Response, Filter (TypeScript + class-validator)
- Servicios de Negocio: Service completo con CRUD + validaciones
- Controller: NestJS controller con decorators Swagger
- Reglas de Negocio: Implementación de RN del RF
- Seguridad: Multi-tenancy (RLS), RBAC, validación, auditoría
- Testing: Unit tests (Jest) + Integration tests (Supertest)
- Performance: Índices, caching, paginación, optimizaciones
- Logging y Monitoreo: Winston + Prometheus
- Referencias: RF, database schema, domain model, ADRs
- Dependencias: Módulos NestJS, RF bloqueantes
- Notas de Implementación: Checklist de tareas
- Estimación: Breakdown de SP (dev + testing + review)
ET-Frontend
Cada especificación técnica frontend incluye:
- Metadata: RF asociado, ET backend, módulo, complejidad, SP
- Stack Tecnológico: React, TypeScript, Vite, Ant Design, Zustand, React Query
- Arquitectura FSD: Feature-Sliced Design structure
- Rutas: React Router paths
- Types/Interfaces: TypeScript interfaces
- Schemas de Validación: Zod schemas
- API Client: Axios client + interceptors
- State Management: Zustand store + React Query hooks
- Components UI: Table, Form, Modal, Page (código completo)
- Validaciones del Cliente: Zod + custom validators
- UX/UI: Diseño, feedback, responsiveness
- Permisos: RBAC en UI (usePermissions hook)
- Testing: Component tests (Vitest) + E2E (Playwright)
- Performance: Lazy loading, memoization, virtualization, debounce
- Referencias: RF, ET backend, patterns, ADRs
- Dependencias: Módulos frontend, RF bloqueantes
- Notas de Implementación: Checklist de tareas
- Estimación: Breakdown de SP
Patrones y Estándares
Backend Patterns
- Framework: NestJS 10.x (modular, dependency injection)
- ORM: Prisma 5.x (type-safe, migrations)
- Database: PostgreSQL 16 (multi-schema, RLS)
- Auth: JWT + Refresh tokens (Passport.js)
- Validation: class-validator + class-transformer
- Testing: Jest + Supertest (>80% coverage)
- API Docs: Swagger/OpenAPI 3.0
- Logging: Winston (structured logs)
- Caching: Redis (listas maestras, TTL 1h)
Frontend Patterns
- Framework: React 18 + TypeScript 5
- Build: Vite 5 (fast HMR, optimized bundles)
- UI Library: Ant Design 5 (enterprise-grade)
- Architecture: Feature-Sliced Design (FSD)
- State: Zustand (UI) + React Query (server)
- Forms: React Hook Form + Zod validation
- Testing: Vitest + React Testing Library + Playwright
- Routing: React Router 6
- HTTP: Axios (interceptors para auth)
Cross-Cutting Concerns
- Multi-Tenancy: Schema-level isolation + RLS
- RBAC: Permisos granulares por módulo.recurso.acción
- Auditoría: createdBy, updatedBy, deletedAt en todas las entidades
- Soft Delete: deletedAt en lugar de borrado físico
- I18n: Español (default), preparado para multi-idioma
- Error Handling: Mensajes claros, códigos HTTP estándar
- Security: XSS prevention, SQL injection prevention, rate limiting
Nomenclatura y Convenciones
Archivos ET
- Backend:
ET-BACKEND-MGN-XXX-YYY-descripcion.md - Frontend:
ET-FRONTEND-MGN-XXX-YYY-descripcion.md - Ejemplo:
ET-BACKEND-MGN-001-001-autenticacion-usuarios.md
Código TypeScript
- Clases: PascalCase (
UserService,CreateUserDto) - Funciones/métodos: camelCase (
findAll,validateBusinessRules) - Variables: camelCase (
userId,tenantId) - Constantes: UPPER_SNAKE_CASE (
API_BASE_URL) - Interfaces: PascalCase con prefijo I opcional (
User,CreateUserDto) - Types: PascalCase (
UserStatus,FilterParams)
Base de Datos
- Schemas: lowercase (
auth,core,financial) - Tablas: lowercase con underscore (
users,login_history) - Columnas: lowercase con underscore (
tenant_id,created_at) - Índices:
idx_tabla_columna(idx_users_tenant_id) - FKs:
fk_tabla1_tabla2(fk_users_tenants)
API Endpoints
- Base:
/api/v1/ - Resources: kebab-case (
/users,/chart-of-accounts) - Ejemplo:
POST /api/v1/users,GET /api/v1/auth/login
Métricas y Estadísticas
Distribución de Complejidad
| Complejidad | Backend | Frontend | Total | % |
|---|---|---|---|---|
| Alta (13+ SP) | 12 | 12 | 24 | 15% |
| Media (8-12 SP) | 34 | 34 | 68 | 42.5% |
| Baja (3-7 SP) | 34 | 34 | 68 | 42.5% |
| Total | 80 | 80 | 160 | 100% |
Distribución por Prioridad
| Prioridad | Backend | Frontend | Total | SP | % SP |
|---|---|---|---|---|---|
| P0 (MVP) | 52 | 52 | 104 | 462 SP | 69% |
| P1 (Post-MVP) | 23 | 23 | 46 | 169 SP | 25% |
| P2 (Futuro) | 5 | 5 | 10 | 42 SP | 6% |
| Total | 80 | 80 | 160 | 673 SP | 100% |
Líneas de Código (Estimado)
- Backend: ~80,000 LOC (promedio 1,000 LOC por ET)
- Frontend: ~80,000 LOC (promedio 1,000 LOC por ET)
- Total: ~160,000 LOC
Cobertura de Tests (Target)
- Unit Tests: >80% coverage
- Integration Tests: Endpoints críticos (CRUD completo)
- E2E Tests: Flujos principales de usuario
Roadmap de Implementación
Fase 1: Core MVP (P0) - 52 RF = 104 ET
Duración: 23 sprints (~46 semanas)
Sprint 1-4: Fundamentos (MGN-001, MGN-002, MGN-003)
- Autenticación, usuarios, roles, permisos
- Multi-tenancy, multi-empresa
- Catálogos maestros (partners, países, monedas, UoM)
Sprint 5-10: Financiero e Inventario (MGN-004, MGN-005)
- Plan de cuentas, journals, asientos contables
- Impuestos, facturas, pagos
- Productos, almacenes, movimientos de stock
Sprint 11-16: Compras y Ventas (MGN-006, MGN-007)
- Órdenes de compra, recepciones, facturas proveedor
- Cotizaciones, órdenes venta, entregas, facturas cliente
Sprint 17-20: Analítica y Mensajería (MGN-008, MGN-014)
- Cuentas analíticas, líneas, reportes P&L
- Chatter, notificaciones, tracking, followers
Sprint 21-23: Testing y QA Final
- Integration testing completo
- Performance testing
- Security audit
- Bug fixing
Fase 2: Complementary (P1) - 23 RF = 46 ET
Duración: 11 sprints (~22 semanas)
Sprint 24-27: CRM y RRHH (MGN-009, MGN-010)
- Leads, pipeline, actividades
- Empleados, contratos, asistencias, ausencias
Sprint 28-31: Proyectos y Reportes (MGN-011, MGN-012)
- Proyectos, tareas Kanban, timesheets
- Dashboards, query builder, gráficos
Sprint 32-34: Portal (MGN-013)
- Acceso portal, documentos
- Firma electrónica, mensajería
Fase 3: Avanzado (P2) - 5 RF = 10 ET
Duración: 3 sprints (~6 semanas)
- Lead scoring, vista Gantt, query builder avanzado
Referencias
- RF (Requerimientos Funcionales): ../requerimientos-funcionales/README.md
- Database Design: ../database-design/README.md
- Domain Models: ../domain-models/
- ADRs: ../../adr/
- Gap Analysis: ../../01-definicion-modulos/gaps/
- Gamilit Patterns: ../../00-analisis-referencias/gamilit/
Equipo Técnico
- Tech Lead / Solution Architect: Definición de especificaciones técnicas
- Backend Developers: Implementación NestJS + Prisma
- Frontend Developers: Implementación React + Ant Design
- QA Engineers: Testing (unit + integration + e2e)
- DevOps: CI/CD, deployment, monitoring
Próximos Pasos
- Revisión Técnica: Validar especificaciones con equipo de desarrollo
- Setup de Proyecto: Inicializar repos backend y frontend
- Configuración de CI/CD: GitHub Actions, linters, tests
- Sprint Planning: Asignar ET a sprints según roadmap
- Inicio de Desarrollo: Comenzar por MGN-001 (Fundamentos)
Notas Importantes
- Código TypeScript Real: Todos los ET incluyen código implementable, no pseudocódigo
- Trazabilidad Completa: Cada ET referencia RF, BD, domain models
- Tests Incluidos: Unit tests y e2e tests en cada ET
- DTOs Sincronizados: Backend (class-validator) y Frontend (Zod) usan mismas reglas
- Documentación Swagger: Todos los endpoints documentados con @ApiTags, @ApiOperation
- Feature-Sliced Design: Frontend organizado en entities, features, widgets, pages
Documento generado: 2025-11-24 Versión: 1.0 Estado: Completo Total Páginas de Documentación: 160 ET + 1 README = 161 archivos Total Story Points: 673 SP Duración Estimada MVP: 23 sprints (~46 semanas) Duración Total (MVP + P1): 34 sprints (~68 semanas)