- Add docs/99-referencias/ section: - ESTANDARES-APLICADOS.md (14 standards, 98% compliance) - MATRIZ-TRAZABILIDAD.md (37 RF/RNF, 97% coverage) - ONBOARDING.md (developer guide) - _INDEX.md (section index) - Update CLAUDE.md v1.2.0: - Add 4 new modules (sales, portfolio, commissions, mlm, goals) - Add quick references section - Update DIRECTIVAS-LOCALES.md v1.1: - Add SIMCO directives table - Add principles inheritance table - Fix CONTEXT-MAP.yml v2.1.0: - Correct paths from apps/* to L2 submodules structure - Update orchestration files: - PROJECT-STATUS.md with homologation note - PROXIMA-ACCION.md with task reference - _INDEX.yml to v1.4.0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
250 lines
7.4 KiB
Markdown
250 lines
7.4 KiB
Markdown
# Matriz de Trazabilidad RF/RNF - Template SaaS
|
||
|
||
**Proyecto:** template-saas
|
||
**Tipo:** PROVIDER (L1A)
|
||
**Fecha:** 2026-02-03
|
||
**Sistema:** SIMCO v4.0.0
|
||
|
||
---
|
||
|
||
## 1. Resumen de Cobertura
|
||
|
||
| Categoría | Total RF/RNF | Implementados | Cobertura |
|
||
|-----------|--------------|---------------|-----------|
|
||
| RF-AUTH | 3 | 3 | 100% |
|
||
| RF-USER | 3 | 3 | 100% |
|
||
| RF-TENANT | 2 | 2 | 100% |
|
||
| RF-AUDIT | 2 | 2 | 100% |
|
||
| RF-NOTIF | 2 | 2 | 100% |
|
||
| RF-SEARCH | 3 | 3 | 100% |
|
||
| RF-EXPORT | 2 | 2 | 100% |
|
||
| RNF-SEC | 5 | 5 | 100% |
|
||
| RNF-PERF | 4 | 4 | 100% |
|
||
| RNF-AVAIL | 3 | 3 | 100% |
|
||
| RNF-SCALE | 2 | 2 | 100% |
|
||
| RNF-UX | 3 | 2 | 67% |
|
||
| RNF-MAINT | 3 | 3 | 100% |
|
||
| **Total** | **37** | **36** | **97%** |
|
||
|
||
---
|
||
|
||
## 2. Requerimientos Funcionales (RF)
|
||
|
||
### 2.1 RF-AUTH: Autenticación y Autorización
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-AUTH-001 | Autenticación JWT | SAAS-001-auth | ✅ Implementado |
|
||
| RF-AUTH-002 | Control de Acceso RBAC | SAAS-001-auth, rbac | ✅ Implementado |
|
||
| RF-AUTH-003 | Gestión de Sesiones | SAAS-001-auth | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/auth/`
|
||
- Entities: `session.entity.ts`, `token.entity.ts`, `refresh-token.entity.ts`
|
||
- DDL: `database/ddl/auth/`
|
||
|
||
---
|
||
|
||
### 2.2 RF-USER: Gestión de Usuarios
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-USER-001 | CRUD de Usuarios | SAAS-003-users | ✅ Implementado |
|
||
| RF-USER-002 | Perfiles de Usuario | SAAS-003-users | ✅ Implementado |
|
||
| RF-USER-003 | Recuperación de Contraseña | SAAS-001-auth | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/users/`
|
||
- Frontend: `frontend/src/pages/admin/users/`
|
||
|
||
---
|
||
|
||
### 2.3 RF-TENANT: Multi-Tenancy
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-TENANT-001 | Aislamiento de Datos | SAAS-002-tenants | ✅ Implementado (RLS) |
|
||
| RF-TENANT-002 | Configuración por Tenant | SAAS-002-tenants | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/tenants/`
|
||
- RLS: Todas las tablas con tenant_id tienen policies
|
||
- DDL: `database/ddl/tenants/`
|
||
|
||
---
|
||
|
||
### 2.4 RF-AUDIT: Auditoría
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-AUDIT-001 | Registro de Cambios | SAAS-008-audit-logs | ✅ Implementado |
|
||
| RF-AUDIT-002 | Acciones de Usuario | SAAS-008-audit-logs | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/audit/`
|
||
- Frontend: `frontend/src/pages/admin/audit/`
|
||
- DDL: `database/ddl/audit/`
|
||
|
||
---
|
||
|
||
### 2.5 RF-NOTIF: Notificaciones
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-NOTIF-001 | Notificaciones en App | SAAS-007-notifications | ✅ Implementado |
|
||
| RF-NOTIF-002 | Notificaciones por Email | SAAS-013-email | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/notifications/`, `backend/src/modules/email/`
|
||
- WebSocket: NotificationsGateway
|
||
- Push: Web Push API
|
||
|
||
---
|
||
|
||
### 2.6 RF-SEARCH: Búsqueda y Filtrado
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-SEARCH-001 | Búsqueda Global | CRUD Base | ✅ Implementado |
|
||
| RF-SEARCH-002 | Filtros | CRUD Base | ✅ Implementado |
|
||
| RF-SEARCH-003 | Ordenamiento | CRUD Base | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Todos los listados soportan filtros, paginación y ordenamiento
|
||
- Patrón reutilizable en todos los módulos
|
||
|
||
---
|
||
|
||
### 2.7 RF-EXPORT: Exportación
|
||
|
||
| RF | Descripción | Módulo SAAS | Estado |
|
||
|----|-------------|-------------|--------|
|
||
| RF-EXPORT-001 | Exportar a CSV | SAAS-017-reports | ✅ Implementado |
|
||
| RF-EXPORT-002 | Exportar a PDF | SAAS-017-reports | ✅ Implementado |
|
||
|
||
**Implementación:**
|
||
- Backend: `backend/src/modules/reports/`
|
||
- Soporta CSV, Excel, PDF
|
||
|
||
---
|
||
|
||
## 3. Requerimientos No Funcionales (RNF)
|
||
|
||
### 3.1 RNF-SEC: Seguridad (P0 - Crítico)
|
||
|
||
| RNF | Descripción | Implementación | Estado |
|
||
|-----|-------------|----------------|--------|
|
||
| RNF-SEC-001 | Autenticación Segura | bcrypt cost 10, JWT HS256 | ✅ |
|
||
| RNF-SEC-002 | Protección de Datos | HTTPS, secrets en .env | ✅ |
|
||
| RNF-SEC-003 | Inyección SQL | TypeORM parameterized queries | ✅ |
|
||
| RNF-SEC-004 | XSS/CSRF | React escape, CSRF tokens | ✅ |
|
||
| RNF-SEC-005 | Headers de Seguridad | Helmet middleware | ✅ |
|
||
|
||
**Verificación:** TASK-RNF-SEC-VALIDATION (APROBADO)
|
||
|
||
---
|
||
|
||
### 3.2 RNF-PERF: Performance (P1)
|
||
|
||
| RNF | Descripción | Objetivo | Estado |
|
||
|-----|-------------|----------|--------|
|
||
| RNF-PERF-001 | Tiempos de Respuesta | < 500ms | ✅ |
|
||
| RNF-PERF-002 | Base de Datos | Índices, paginación | ✅ |
|
||
| RNF-PERF-003 | Frontend | Bundle < 500KB | ⚠️ Verificar |
|
||
| RNF-PERF-004 | Caching | Redis cache | ✅ |
|
||
|
||
**Verificación:** TASK-RNF-PERF-VALIDATION (APROBADO)
|
||
|
||
---
|
||
|
||
### 3.3 RNF-AVAIL: Disponibilidad (P1)
|
||
|
||
| RNF | Descripción | Objetivo | Estado |
|
||
|-----|-------------|----------|--------|
|
||
| RNF-AVAIL-001 | Uptime | 99.5% | ✅ Diseñado |
|
||
| RNF-AVAIL-002 | Recuperación | RTO < 4h, RPO < 1h | ✅ Diseñado |
|
||
| RNF-AVAIL-003 | Monitoreo | Health checks | ✅ |
|
||
|
||
**Verificación:** TASK-RNF-AVAIL-VALIDATION (APROBADO)
|
||
|
||
---
|
||
|
||
### 3.4 RNF-SCALE: Escalabilidad (P2)
|
||
|
||
| RNF | Descripción | Objetivo | Estado |
|
||
|-----|-------------|----------|--------|
|
||
| RNF-SCALE-001 | Usuarios Concurrentes | 100/instancia | ✅ |
|
||
| RNF-SCALE-002 | Datos | 1M+ registros | ✅ Paginación |
|
||
|
||
**Verificación:** TASK-RNF-SCALE-VALIDATION (APROBADO)
|
||
|
||
---
|
||
|
||
### 3.5 RNF-UX: Usabilidad (P2)
|
||
|
||
| RNF | Descripción | Objetivo | Estado |
|
||
|-----|-------------|----------|--------|
|
||
| RNF-UX-001 | Responsividad | Mobile-first | ✅ |
|
||
| RNF-UX-002 | Accesibilidad | WCAG 2.1 A | ⚠️ Parcial |
|
||
| RNF-UX-003 | Feedback | Loading, errores | ✅ |
|
||
|
||
**Gap:** Mejoras de accesibilidad pendientes (WCAG 2.1 AA)
|
||
|
||
---
|
||
|
||
### 3.6 RNF-MAINT: Mantenibilidad (P1)
|
||
|
||
| RNF | Descripción | Objetivo | Estado |
|
||
|-----|-------------|----------|--------|
|
||
| RNF-MAINT-001 | Código | Lint sin errores | ✅ |
|
||
| RNF-MAINT-002 | Logs | Estructurados | ✅ |
|
||
| RNF-MAINT-003 | Configuración | .env | ✅ |
|
||
|
||
---
|
||
|
||
## 4. Matriz de Trazabilidad Cruzada
|
||
|
||
### Módulos SAAS → RF
|
||
|
||
| Módulo | RF Implementados |
|
||
|--------|------------------|
|
||
| SAAS-001-auth | RF-AUTH-001, RF-AUTH-002, RF-AUTH-003, RF-USER-003 |
|
||
| SAAS-002-tenants | RF-TENANT-001, RF-TENANT-002 |
|
||
| SAAS-003-users | RF-USER-001, RF-USER-002 |
|
||
| SAAS-007-notifications | RF-NOTIF-001 |
|
||
| SAAS-008-audit-logs | RF-AUDIT-001, RF-AUDIT-002 |
|
||
| SAAS-013-email | RF-NOTIF-002 |
|
||
| SAAS-017-reports | RF-EXPORT-001, RF-EXPORT-002 |
|
||
|
||
### Módulos SAAS → RNF
|
||
|
||
| Módulo | RNF Implementados |
|
||
|--------|-------------------|
|
||
| SAAS-001-auth | RNF-SEC-001, RNF-SEC-002 |
|
||
| health module | RNF-AVAIL-003 |
|
||
| Todos los módulos | RNF-SEC-003, RNF-PERF-001 |
|
||
|
||
---
|
||
|
||
## 5. Gaps de Cobertura
|
||
|
||
| Gap ID | Tipo | Descripción | Prioridad | Módulo Afectado |
|
||
|--------|------|-------------|-----------|-----------------|
|
||
| GAP-UX-001 | RNF | Accesibilidad WCAG 2.1 AA | P2 | Frontend |
|
||
|
||
---
|
||
|
||
## 6. Referencias
|
||
|
||
| Documento | Ubicación |
|
||
|-----------|-----------|
|
||
| RF del Workspace | `workspace-v2/docs/50-requerimientos/REQUERIMIENTOS-FUNCIONALES.md` |
|
||
| RNF del Workspace | `workspace-v2/docs/50-requerimientos/REQUERIMIENTOS-NO-FUNCIONALES.md` |
|
||
| Módulos SAAS | `template-saas/docs/01-modulos/` |
|
||
| Inventarios | `template-saas/orchestration/inventarios/` |
|
||
|
||
---
|
||
|
||
**Última actualización:** 2026-02-03
|
||
**Actualizado por:** Claude Opus 4.5 (TASK-2026-02-03-HOMOLOGACION)
|