## Directivas SIMCO v3.7.0 - Estandarizacion de Documentacion (7) - SIMCO-DOCUMENTACION-PROYECTO.md - SIMCO-NOMENCLATURA.md - SIMCO-ESTRUCTURA-DOCS.md - SIMCO-INVENTARIOS.md - SIMCO-TESTING.md - SIMCO-MIGRACIONES-BD.md - SIMCO-INTEGRACIONES-EXTERNAS.md ## Directivas SIMCO v3.8.0 - Mantenimiento de Documentacion (2) - SIMCO-MANTENIMIENTO-DOCUMENTACION.md - SIMCO-SINCRONIZACION-BD.md ## Templates (4) - TEMPLATE-INVENTARIO-PROYECTO.md - TEMPLATE-INTEGRACION-EXTERNA.md - TEMPLATE-MODULO-ESTANDAR.md - TEMPLATE-DEPRECACION.md ## Checklists (6) - CHECKLIST-DOCUMENTACION-PROYECTO.md - CHECKLIST-INVENTARIOS.md - CHECKLIST-NOMENCLATURA.md - CHECKLIST-MANTENIMIENTO-DOCS.md - CHECKLIST-SINCRONIZACION-BD.md - _MAP.md ## Perfil de Agente (1) - PERFIL-DOCUMENTATION-MAINTAINER.md ## Indices - INDICE-DIRECTIVAS-WORKSPACE.yml actualizado a v3.8.0 ## Submodulos actualizados (14) - gamilit, erp-core, michangarrito, template-saas - erp-suite, erp-construccion, erp-clinicas - erp-mecanicas-diesel, erp-retail, erp-vidrio-templado - trading-platform, betting-analytics - inmobiliaria-analytics, platform_marketing_content Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.1 KiB
6.1 KiB
TEMPLATE: Modulo Estandar
Version: 1.0.0 Proposito: Template para documentar modulos de proyecto Referencia: SIMCO-ESTRUCTURA-DOCS.md Creado: 2026-01-10
Instrucciones de Uso
- Copiar este template al directorio del modulo
- Nombrar archivo:
{PREFIJO}-{NNN}-{nombre}.md(ej: MGN-001-auth.md) - Reemplazar todos los placeholders
{...} - Eliminar secciones opcionales que no apliquen
- Mantener actualizado con cada cambio
Template
# {ID}: {Nombre del Modulo}
## Metadata
| Campo | Valor |
|-------|-------|
| **Codigo** | {MGN-001|SAAS-001|MCH-001} |
| **Modulo** | {Nombre descriptivo} |
| **Fase** | {N} - {Nombre de la Fase} |
| **Prioridad** | {P0|P1|P2|P3} |
| **Estado** | {Completado|Implementado|En Desarrollo|Documentado|Pendiente} |
| **Story Points** | {N} |
| **Porcentaje** | {N}% |
---
## 1. Descripcion
{Parrafo descriptivo del proposito del modulo, que problema resuelve
y como se integra con el resto del sistema.}
---
## 2. Objetivos
1. {Objetivo principal del modulo}
2. {Objetivo secundario}
3. {Objetivo terciario}
---
## 3. Alcance
### 3.1 Incluido
- {Feature o funcionalidad incluida}
- {Feature o funcionalidad incluida}
- {Feature o funcionalidad incluida}
### 3.2 Excluido
- {Feature o funcionalidad NO incluida}
- {Feature delegada a otro modulo}
### 3.3 Supuestos
- {Supuesto sobre el sistema}
- {Supuesto sobre usuarios}
---
## 4. Modelo de Datos
### 4.1 Diagrama ER (ASCII)
┌────────────────┐ ┌────────────────┐ │ {tabla_1} │ │ {tabla_2} │ ├────────────────┤ ├────────────────┤ │ id (PK) │ │ id (PK) │ │ tenant_id (FK) │──────>│ tabla1_id (FK) │ │ {campo} │ │ {campo} │ │ created_at │ │ created_at │ │ updated_at │ │ updated_at │ └────────────────┘ └────────────────┘
### 4.2 Tablas (Schema: {schema_name})
**{nombre_tabla}**
| Columna | Tipo | Constraints | Descripcion |
|---------|------|-------------|-------------|
| id | UUID | PK, DEFAULT gen_random_uuid() | Identificador unico |
| tenant_id | UUID | FK tenants(id), NOT NULL | Tenant owner |
| {campo} | {tipo} | {constraints} | {descripcion} |
| is_active | BOOLEAN | DEFAULT true | Estado del registro |
| created_at | TIMESTAMP WITH TIME ZONE | DEFAULT NOW() | Fecha creacion |
| updated_at | TIMESTAMP WITH TIME ZONE | DEFAULT NOW() | Fecha actualizacion |
**Indices:**
- `idx_{tabla}_tenant` ON (tenant_id)
- `idx_{tabla}_{campo}` ON ({campo})
**RLS Policy:**
```sql
CREATE POLICY {tabla}_tenant_isolation ON {schema}.{tabla}
USING (tenant_id = current_setting('app.current_tenant')::UUID);
5. Endpoints API
5.1 Resumen de Endpoints
| Metodo | Endpoint | Descripcion | Auth | Roles |
|---|---|---|---|---|
| POST | /api/v1/{recurso} |
Crear {recurso} | SI | admin, {rol} |
| GET | /api/v1/{recurso} |
Listar {recursos} | SI | * |
| GET | /api/v1/{recurso}/:id |
Obtener {recurso} | SI | * |
| PUT | /api/v1/{recurso}/:id |
Actualizar {recurso} | SI | admin, {rol} |
| DELETE | /api/v1/{recurso}/:id |
Eliminar {recurso} | SI | admin |
5.2 Detalle de Endpoints
POST /api/v1/{recurso}
Request:
{
"{campo1}": "{valor}",
"{campo2}": "{valor}"
}
Response (201):
{
"id": "uuid",
"{campo1}": "{valor}",
"{campo2}": "{valor}",
"createdAt": "2026-01-10T00:00:00Z"
}
Errores:
- 400: Validacion fallida
- 401: No autenticado
- 403: Sin permisos
- 409: {recurso} ya existe
6. Configuracion
6.1 Variables de Entorno
# {Nombre Modulo}
{MODULO}_FEATURE_ENABLED=true
{MODULO}_MAX_ITEMS=100
{MODULO}_TIMEOUT_MS=5000
6.2 Valores por Defecto
| Variable | Default | Descripcion |
|---|---|---|
| {MODULO}_FEATURE_ENABLED | true | Habilitar feature |
| {MODULO}_MAX_ITEMS | 100 | Maximo de items por pagina |
7. Dependencias
7.1 Depende de
| Modulo | Tipo | Descripcion |
|---|---|---|
| {MGN-000-core} | Requerido | Funcionalidades base |
| {MGN-001-auth} | Requerido | Autenticacion |
| {MGN-002-tenants} | Requerido | Multi-tenancy |
7.2 Bloquea a
| Modulo | Descripcion |
|---|---|
| {MGN-010-reports} | Requiere datos de este modulo |
8. Roadmap / Estado
8.1 Features Implementadas
| Feature | Estado | Sprint | Notas |
|---|---|---|---|
| {Feature 1} | Completado | S1 | |
| {Feature 2} | Completado | S1 | |
| {Feature 3} | En progreso | S2 | 80% |
8.2 Features Pendientes
| Feature | Prioridad | Sprint Est. | Bloqueadores |
|---|---|---|---|
| {Feature 4} | P1 | S3 | Ninguno |
| {Feature 5} | P2 | S4 | Depende de {otro} |
9. Testing
9.1 Cobertura
| Tipo | Archivos | Cobertura |
|---|---|---|
| Unit | {N} | {N}% |
| Integration | {N} | {N}% |
9.2 Casos de Test Principales
- Crear {recurso} con datos validos
- Crear {recurso} con datos invalidos (400)
- Listar {recursos} con paginacion
- Obtener {recurso} por ID
- Actualizar {recurso}
- Eliminar {recurso}
- Verificar RLS entre tenants
10. Historias de Usuario Relacionadas
| ID | Titulo | Estado | SP |
|---|---|---|---|
| US-{XXX}-001 | {Titulo} | {Estado} | {N} |
| US-{XXX}-002 | {Titulo} | {Estado} | {N} |
11. Notas Tecnicas
{Consideraciones tecnicas importantes, decisiones de arquitectura, limitaciones conocidas o aspectos a tener en cuenta.}
12. Referencias
Ultima actualizacion: {YYYY-MM-DD} Version: {SEMVER}
---
**Referencia:** SIMCO-ESTRUCTURA-DOCS.md