platform-marketing-content/docs/01-analisis-referencias/ANALISIS-CATALOGO.md
rckrdmrd 74b5ed7f38 feat: Complete documentation update and orchestration configuration
- 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>
2026-01-07 05:38:31 -06:00

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:

  1. Definir roles especificos: super_admin, tenant_admin, creative, analyst, viewer, client_portal
  2. Integrar con sistema de tenants (tenant_id en JWT payload)
  3. 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:

  1. Configurar limite de sesiones por plan de suscripcion
  2. 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:

  1. Extender modelo Tenant con campos especificos: logo_url, brand_colors, custom_domain
  2. Agregar limites de quotas: max_brands, max_products, max_storage_gb, generation_credits
  3. Implementar planes de suscripcion con limites diferenciados
  4. 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:

  1. 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
  2. Usar Redis para storage en produccion
  3. 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:

  1. Crear templates especificos:
    • job_completed - Generacion completada
    • job_failed - Error en generacion
    • campaign_approved - Campana aprobada
    • campaign_delivered - Assets listos para descarga
    • quota_warning - 80% de quota usado
    • quota_exceeded - Quota agotada
  2. 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:

  1. 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
  2. Crear productos y precios en Stripe Dashboard
  3. Configurar webhook endpoint
  4. 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:

  1. Integrar con tenant context
  2. 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:

  1. Crear rooms por tenant y por job
  2. 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