122 lines
3.4 KiB
Markdown
122 lines
3.4 KiB
Markdown
# Inventarios - ERP Core
|
|
|
|
**Ubicacion Canonica:** `orchestration/inventarios/`
|
|
**Proyecto:** ERP Suite - erp-core
|
|
**Ultima actualizacion:** 2025-12-05
|
|
|
|
---
|
|
|
|
## Proposito
|
|
|
|
Este directorio contiene los **inventarios operacionales canonicos** del proyecto.
|
|
Todos los objetos (tablas, endpoints, componentes) deben estar registrados aqui
|
|
para evitar duplicacion y mantener trazabilidad.
|
|
|
|
---
|
|
|
|
## Inventarios Disponibles
|
|
|
|
| Archivo | Descripcion | Objetos |
|
|
|---------|-------------|---------|
|
|
| [MASTER_INVENTORY.yml](./MASTER_INVENTORY.yml) | Inventario maestro consolidado | Resumen global |
|
|
| [DATABASE_INVENTORY.yml](./DATABASE_INVENTORY.yml) | Objetos de base de datos | Schemas, tablas, funciones |
|
|
| [BACKEND_INVENTORY.yml](./BACKEND_INVENTORY.yml) | Modulos backend NestJS | Services, controllers, endpoints |
|
|
| [FRONTEND_INVENTORY.yml](./FRONTEND_INVENTORY.yml) | Componentes frontend React | Pages, components, stores |
|
|
| [DEPENDENCY_GRAPH.yml](./DEPENDENCY_GRAPH.yml) | Grafo de dependencias | Relaciones entre modulos |
|
|
| [TRACEABILITY_MATRIX.yml](./TRACEABILITY_MATRIX.yml) | Matriz de trazabilidad global | RF -> ET -> US -> Codigo |
|
|
| [SEEDS_INVENTORY.yml](./SEEDS_INVENTORY.yml) | Datos semilla | Catalogos, usuarios demo |
|
|
| [TEST_COVERAGE.yml](./TEST_COVERAGE.yml) | Cobertura de tests | Unit, integration, e2e |
|
|
|
|
---
|
|
|
|
## Uso
|
|
|
|
### Antes de crear un nuevo objeto:
|
|
|
|
1. **Verificar que no exista** en el inventario correspondiente
|
|
2. **Verificar nombre** no colisione con existentes
|
|
3. **Registrar** el nuevo objeto inmediatamente despues de crearlo
|
|
|
|
### Al modificar un objeto existente:
|
|
|
|
1. **Actualizar** el inventario con los cambios
|
|
2. **Verificar dependencias** en DEPENDENCY_GRAPH.yml
|
|
3. **Actualizar trazabilidad** si cambia RF/ET/US
|
|
|
|
### Comandos utiles:
|
|
|
|
```bash
|
|
# Buscar si una tabla existe
|
|
grep -r "table_name" orchestration/inventarios/DATABASE_INVENTORY.yml
|
|
|
|
# Buscar si un endpoint existe
|
|
grep -r "POST /api/v1/auth" orchestration/inventarios/BACKEND_INVENTORY.yml
|
|
|
|
# Ver dependencias de un modulo
|
|
grep -A 10 "module: auth" orchestration/inventarios/DEPENDENCY_GRAPH.yml
|
|
```
|
|
|
|
---
|
|
|
|
## Estructura de Archivos
|
|
|
|
```yaml
|
|
# Ejemplo DATABASE_INVENTORY.yml
|
|
schemas:
|
|
- name: core_auth
|
|
tables:
|
|
- name: users_auth
|
|
columns: [id, email, password_hash, ...]
|
|
indexes: [idx_users_email]
|
|
rls_policies: [tenant_isolation]
|
|
functions:
|
|
- name: validate_password
|
|
params: [user_id, password]
|
|
returns: boolean
|
|
```
|
|
|
|
```yaml
|
|
# Ejemplo BACKEND_INVENTORY.yml
|
|
modules:
|
|
- name: auth
|
|
path: src/modules/auth/
|
|
services:
|
|
- name: AuthService
|
|
methods: [login, logout, refresh]
|
|
controllers:
|
|
- name: AuthController
|
|
endpoints:
|
|
- method: POST
|
|
path: /api/v1/auth/login
|
|
dto: LoginDto
|
|
response: TokenResponseDto
|
|
```
|
|
|
|
---
|
|
|
|
## Responsabilidades
|
|
|
|
| Rol | Responsabilidad |
|
|
|-----|-----------------|
|
|
| Database-Agent | Mantener DATABASE_INVENTORY.yml |
|
|
| Backend-Agent | Mantener BACKEND_INVENTORY.yml |
|
|
| Frontend-Agent | Mantener FRONTEND_INVENTORY.yml |
|
|
| Architecture-Analyst | Mantener DEPENDENCY_GRAPH.yml, TRACEABILITY_MATRIX.yml |
|
|
| Requirements-Analyst | Validar trazabilidad RF -> Codigo |
|
|
|
|
---
|
|
|
|
## Validacion
|
|
|
|
Antes de cada merge a develop:
|
|
|
|
1. [ ] Todos los objetos nuevos estan en inventarios
|
|
2. [ ] No hay duplicados de nombres
|
|
3. [ ] Dependencias actualizadas
|
|
4. [ ] Trazabilidad completa
|
|
|
|
---
|
|
|
|
**Generado por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-05
|