workspace/projects/erp-suite/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

146 lines
5.4 KiB
Markdown

# Contexto del Proyecto: ERP Suite
## Metadatos
| Campo | Valor |
|-------|-------|
| **Nombre** | ERP Suite - Sistema ERP Multi-Vertical |
| **Tipo** | SaaS Multi-tenant / Proyectos Personalizados |
| **Estado** | En desarrollo |
| **Versión** | 0.1.0 |
| **Fecha Migración** | Diciembre 2025 |
## Descripción
Suite ERP/CRM/POS con soporte para múltiples verticales de negocio. Arquitectura modular donde `erp-core` proporciona el 60-70% del código base y las verticales extienden con funcionalidad específica.
## 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/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/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/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*