- Update vision, architecture and technical documentation - Update module definitions (PMC-001 to PMC-008) - Update requirements documentation - Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml - Add orchestration guidelines and references 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10 KiB
| id | title | type | status | project | version | created_date | updated_date |
|---|---|---|---|---|---|---|---|
| ANALISIS-CATALOGO | Analisis de Componentes del Catalogo | Analysis | Draft | platform_marketing_content | 1.0.0 | 2026-01-04 | 2026-01-04 |
Analisis de Componentes del Catalogo
Version: 1.0.0 Fecha: 2025-12-08 Proyecto: Platform Marketing Content (PMC)
Proposito
Este documento analiza los componentes disponibles en el catalogo del workspace (shared/catalog/) y determina cuales son reutilizables para el proyecto PMC, identificando adaptaciones necesarias.
Resumen de Componentes Disponibles
El catalogo contiene 8 componentes production-ready:
| Componente | Alias | Origen | Aplicabilidad PMC |
|---|---|---|---|
| Auth | @CATALOG_AUTH | gamilit | ALTA - Usar directamente |
| Session Management | @CATALOG_SESSION | gamilit | ALTA - Usar directamente |
| Multi-Tenancy | @CATALOG_TENANT | gamilit | ALTA - Usar directamente |
| Rate Limiting | @CATALOG_RATELIMIT | gamilit | ALTA - Usar directamente |
| Notifications | @CATALOG_NOTIFY | gamilit | ALTA - Usar directamente |
| Feature Flags | @CATALOG_FLAGS | gamilit | MEDIA - Para rollouts |
| WebSocket | @CATALOG_WS | trading-platform | MEDIA - Para updates en tiempo real |
| Payments | @CATALOG_PAYMENTS | trading-platform | ALTA - Para suscripciones SaaS |
Analisis Detallado por Componente
1. @CATALOG_AUTH - Autenticacion y Autorizacion
Ubicacion: shared/catalog/auth/
Funcionalidades incluidas:
- JWT access + refresh tokens
- Password hashing con bcrypt
- Sistema de roles (RBAC)
- Guards y decoradores
- Recuperacion de contrasena
- Verificacion de email
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
JwtAuthGuard |
PMC-007-ADMIN | RF-ADM-001 |
RolesGuard |
PMC-007-ADMIN | RF-ADM-002 |
AuthService |
PMC-007-ADMIN | RF-ADM-003 a RF-ADM-008 |
PasswordRecoveryService |
PMC-007-ADMIN | RF-ADM-011 |
Adaptaciones necesarias:
- Definir roles especificos:
super_admin,tenant_admin,creative,analyst,viewer,client_portal - Integrar con sistema de tenants (tenant_id en JWT payload)
- Ajustar permisos por recurso segun matriz RBAC definida
Estimacion de esfuerzo: 4-6 horas de adaptacion
2. @CATALOG_SESSION - Gestion de Sesiones
Ubicacion: shared/catalog/session-management/
Funcionalidades incluidas:
- Maximo N sesiones concurrentes
- Auto-cleanup de sesiones expiradas
- Tracking de dispositivos
- Logout selectivo/global
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
SessionService |
PMC-007-ADMIN | RF-ADM-009 |
DeviceTracking |
PMC-007-ADMIN | RF-ADM-010 |
Adaptaciones necesarias:
- Configurar limite de sesiones por plan de suscripcion
- Integrar con audit log
Estimacion de esfuerzo: 2-3 horas
3. @CATALOG_TENANT - Multi-Tenancy
Ubicacion: shared/catalog/multi-tenancy/
Funcionalidades incluidas:
- Aislamiento de datos por tenant
- Usuarios en multiples tenants
- Roles por tenant (owner, admin, member)
- Configuracion por tenant
- Row Level Security (RLS)
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
TenantMiddleware |
PMC-001-TENANTS | RF-TEN-001 |
TenantMemberGuard |
PMC-001-TENANTS | RF-TEN-002 |
MembershipService |
PMC-001-TENANTS | RF-TEN-003, RF-TEN-004 |
RLS Policies |
PMC-001-TENANTS | RF-TEN-005 |
Adaptaciones necesarias:
- Extender modelo Tenant con campos especificos:
logo_url,brand_colors,custom_domain - Agregar limites de quotas:
max_brands,max_products,max_storage_gb,generation_credits - Implementar planes de suscripcion con limites diferenciados
- Crear tablas de quotas y uso
IMPORTANTE: Este componente es la BASE del sistema. Implementar primero.
Estimacion de esfuerzo: 8-12 horas de adaptacion
4. @CATALOG_RATELIMIT - Limitacion de Tasa
Ubicacion: shared/catalog/rate-limiting/
Funcionalidades incluidas:
- Rate limiting por IP/usuario
- Configuracion por endpoint
- Headers HTTP estandar
- Respuestas 429 con Retry-After
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
ThrottlerGuard |
PMC-004-GENERATION | RF-GEN-023 |
CustomThrottlerGuard |
PMC-004-GENERATION | RF-GEN-024 |
Adaptaciones necesarias:
- Configurar limites por tipo de operacion:
- Generacion imagen: 10/hora (basic), 50/hora (pro), unlimited (enterprise)
- Generacion texto: 50/hora (basic), 200/hora (pro), unlimited (enterprise)
- API calls generales: 1000/hora
- Usar Redis para storage en produccion
- Integrar con sistema de creditos/quotas del tenant
Estimacion de esfuerzo: 3-4 horas
5. @CATALOG_NOTIFY - Sistema de Notificaciones
Ubicacion: shared/catalog/notifications/
Funcionalidades incluidas:
- Notificaciones in-app
- Notificaciones por email (SMTP/SendGrid)
- Push notifications (Web Push)
- Templates con variables
- Preferencias por usuario
- Cola asincrona
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
NotificationService |
PMC-005-AUTOMATION | RF-AUT-013 |
MailService |
PMC-005-AUTOMATION | RF-AUT-014 |
NotificationPreferences |
PMC-007-ADMIN | RF-ADM-015 |
Adaptaciones necesarias:
- Crear templates especificos:
job_completed- Generacion completadajob_failed- Error en generacioncampaign_approved- Campana aprobadacampaign_delivered- Assets listos para descargaquota_warning- 80% de quota usadoquota_exceeded- Quota agotada
- Integrar con sistema de automation (n8n puede disparar notificaciones)
Estimacion de esfuerzo: 4-6 horas
6. @CATALOG_PAYMENTS - Integracion de Pagos
Ubicacion: shared/catalog/payments/
Funcionalidades incluidas:
- Stripe Checkout
- Suscripciones con ciclos
- Billing Portal autoservicio
- Webhooks de eventos
- Wallet interno
- Codigos promocionales
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
StripeService |
PMC-001-TENANTS | RF-TEN-012 |
SubscriptionService |
PMC-001-TENANTS | RF-TEN-013, RF-TEN-014 |
BillingPortal |
PMC-001-TENANTS | RF-TEN-015 |
Adaptaciones necesarias:
- Definir planes especificos PMC:
- Starter: $49/mes - 1 usuario, 100 generaciones/mes
- Professional: $149/mes - 5 usuarios, 500 generaciones/mes
- Business: $399/mes - 20 usuarios, 2000 generaciones/mes
- Enterprise: Custom - Ilimitado
- Crear productos y precios en Stripe Dashboard
- Configurar webhook endpoint
- Integrar creditos de generacion con sistema de quotas
NOTA: Implementar en Fase 4 (SaaS comercial)
Estimacion de esfuerzo: 8-12 horas
7. @CATALOG_FLAGS - Feature Flags
Ubicacion: shared/catalog/feature-flags/
Funcionalidades incluidas:
- Toggle dinamico sin redespliegue
- Rollout gradual por porcentaje
- Target por usuarios/roles
- Periodo de validez
Aplicabilidad PMC:
- Rollout de nuevos workflows de generacion
- A/B testing de templates
- Habilitacion gradual de features por tenant
Adaptaciones necesarias:
- Integrar con tenant context
- Crear flags iniciales para MVP vs features avanzadas
Estimacion de esfuerzo: 2-3 horas
8. @CATALOG_WS - WebSocket
Ubicacion: shared/catalog/websocket/
Funcionalidades incluidas:
- Conexiones WebSocket con Socket.io
- Rooms/canales
- Autenticacion de socket
- Broadcasting
Aplicabilidad PMC:
- Actualizaciones en tiempo real del estado de jobs
- Notificaciones push instantaneas
- Progreso de generacion en vivo
Mapeo a modulos PMC:
| Componente Catalogo | Modulo PMC | Requerimiento |
|---|---|---|
WebSocketGateway |
PMC-004-GENERATION | RF-GEN-014 (progreso en tiempo real) |
Adaptaciones necesarias:
- Crear rooms por tenant y por job
- Integrar con Bull queue para emitir progreso
Estimacion de esfuerzo: 4-6 horas
Matriz de Reutilizacion
| Modulo PMC | Componentes Catalogo a Usar |
|---|---|
| PMC-001-TENANTS | @CATALOG_TENANT, @CATALOG_PAYMENTS |
| PMC-002-CRM | - (implementacion propia) |
| PMC-003-PROJECTS | - (implementacion propia) |
| PMC-004-GENERATION | @CATALOG_RATELIMIT, @CATALOG_WS |
| PMC-005-AUTOMATION | @CATALOG_NOTIFY |
| PMC-006-ASSETS | - (implementacion propia) |
| PMC-007-ADMIN | @CATALOG_AUTH, @CATALOG_SESSION, @CATALOG_FLAGS |
| PMC-008-ANALYTICS | - (implementacion propia) |
Orden de Implementacion Recomendado
Basado en dependencias y componentes del catalogo:
Fase 1 - Fundamentos (usa catalogo):
├── 1. @CATALOG_TENANT → PMC-001-TENANTS
├── 2. @CATALOG_AUTH + @CATALOG_SESSION → PMC-007-ADMIN
└── 3. @CATALOG_RATELIMIT → Middleware global
Fase 2 - Modulos Core (implementacion propia):
├── 4. PMC-002-CRM
├── 5. PMC-006-ASSETS
└── 6. PMC-003-PROJECTS
Fase 3 - Generacion (mezcla):
├── 7. PMC-004-GENERATION
├── 8. @CATALOG_WS → Progreso real-time
└── 9. @CATALOG_NOTIFY → PMC-005-AUTOMATION
Fase 4 - SaaS (usa catalogo):
├── 10. @CATALOG_PAYMENTS → Suscripciones
├── 11. @CATALOG_FLAGS → Rollouts
└── 12. PMC-008-ANALYTICS
Ahorro Estimado
| Componente | Desarrollo desde cero | Adaptacion catalogo | Ahorro |
|---|---|---|---|
| Auth + Session | 40h | 8h | 32h |
| Multi-Tenancy | 60h | 12h | 48h |
| Rate Limiting | 16h | 4h | 12h |
| Notificaciones | 32h | 6h | 26h |
| Payments | 48h | 12h | 36h |
| Feature Flags | 16h | 3h | 13h |
| WebSocket | 24h | 6h | 18h |
| TOTAL | 236h | 51h | 185h |
Ahorro total estimado: ~185 horas de desarrollo
Referencias
- Catalogo principal:
shared/catalog/CATALOG-INDEX.yml - Documentacion componentes:
shared/catalog/{componente}/README.md - Guias de implementacion:
shared/catalog/{componente}/IMPLEMENTATION.md
Generado por: Requirements-Analyst Fecha: 2025-12-08