platform-marketing-content/orchestration/trazas/TRAZA-TAREAS-BACKEND.md

9.4 KiB

Traza de Tareas - Backend Layer

Proyecto: Platform Marketing Content (PMC) Capa: Backend (NestJS) Estado: En progreso - Setup completado Ultima actualizacion: 2025-12-08


Resumen de Estado

Modulo Entities Services Controllers Estado
common 0 1 0 Completado
auth 2 1 1 Completado
tenants 2 1 1 Completado
crm 0 0 0 Pendiente
projects 0 0 0 Pendiente
generation 0 0 0 Pendiente
assets 0 0 0 Pendiente
automation 0 0 0 Pendiente
analytics 0 0 0 Pendiente
Total 4 3 2 25%

Tareas Pendientes

BE-001: Setup Inicial NestJS

ID: BE-001
Descripcion: Configurar proyecto NestJS base
Estado: Pendiente
Asignado: Backend-Agent-PMC

Entregables:
  - apps/backend/package.json
  - apps/backend/src/main.ts
  - apps/backend/src/app.module.ts
  - apps/backend/src/config/
  - apps/backend/src/common/

Dependencias:
  - Ninguna (primera tarea)

Criterios:
  - [ ] npm run build pasa
  - [ ] npm run lint pasa
  - [ ] npm run start:dev inicia
  - [ ] Swagger disponible en /api/docs

BE-002: Common Module

ID: BE-002
Descripcion: Decoradores, guards, pipes, interceptors comunes
Estado: Pendiente
Dependencias: BE-001

Entregables:
  - src/common/decorators/current-user.decorator.ts
  - src/common/decorators/current-tenant.decorator.ts
  - src/common/guards/jwt-auth.guard.ts
  - src/common/guards/roles.guard.ts
  - src/common/middleware/tenant-context.middleware.ts
  - src/shared/entities/tenant-aware.entity.ts
  - src/shared/services/tenant-aware.service.ts

Catalogo: @CATALOG_AUTH

BE-003: Auth Module

ID: BE-003
Descripcion: Autenticacion JWT, sesiones
Estado: Pendiente
Dependencias: BE-002, DB-002

Entregables:
  - src/modules/auth/auth.module.ts
  - src/modules/auth/entities/*.entity.ts
  - src/modules/auth/services/*.service.ts
  - src/modules/auth/controllers/*.controller.ts
  - src/modules/auth/dto/*.dto.ts

Catalogo: @CATALOG_AUTH, @CATALOG_SESSION

BE-004: Tenants Module

ID: BE-004
Descripcion: Multi-tenancy, planes, quotas
Estado: Pendiente
Dependencias: BE-003, DB-002

Entregables:
  - src/modules/tenants/tenants.module.ts
  - src/modules/tenants/entities/*.entity.ts
  - src/modules/tenants/services/*.service.ts
  - src/modules/tenants/controllers/*.controller.ts

Catalogo: @CATALOG_TENANT

BE-005: CRM Module

ID: BE-005
Descripcion: Clientes, marcas, productos
Estado: Pendiente
Dependencias: BE-004, DB-003

Entregables:
  - src/modules/crm/crm.module.ts
  - src/modules/crm/entities/*.entity.ts (5)
  - src/modules/crm/services/*.service.ts (5)
  - src/modules/crm/controllers/*.controller.ts (5)

BE-006: Assets Module

ID: BE-006
Descripcion: DAM, storage S3/MinIO
Estado: Pendiente
Dependencias: BE-004, DB-006

Entregables:
  - src/modules/assets/assets.module.ts
  - src/modules/assets/entities/*.entity.ts
  - src/modules/assets/services/asset.service.ts
  - src/modules/assets/services/storage.service.ts
  - src/modules/assets/services/thumbnail.service.ts
  - src/modules/assets/controllers/*.controller.ts

BE-007: Projects Module

ID: BE-007
Descripcion: Proyectos, campanas, briefs
Estado: Pendiente
Dependencias: BE-005, BE-006, DB-004

Entregables:
  - src/modules/projects/projects.module.ts
  - src/modules/projects/entities/*.entity.ts
  - src/modules/projects/services/*.service.ts
  - src/modules/projects/controllers/*.controller.ts

BE-008: Generation Module

ID: BE-008
Descripcion: Motor IA, ComfyUI, colas BullMQ
Estado: Pendiente
Dependencias: BE-005, BE-006, BE-007, DB-005

Entregables:
  - src/modules/generation/generation.module.ts
  - src/modules/generation/entities/*.entity.ts
  - src/modules/generation/services/generation.service.ts
  - src/modules/generation/services/comfyui.service.ts
  - src/modules/generation/processors/image-generation.processor.ts
  - src/modules/generation/gateways/generation.gateway.ts
  - src/modules/generation/controllers/*.controller.ts

Catalogo: @CATALOG_RATELIMIT, @CATALOG_WS

BE-009: Automation Module

ID: BE-009
Descripcion: Flujos, webhooks, n8n
Estado: Pendiente
Dependencias: BE-008, DB-007

Entregables:
  - src/modules/automation/automation.module.ts
  - src/modules/automation/entities/*.entity.ts
  - src/modules/automation/services/*.service.ts
  - src/modules/automation/controllers/*.controller.ts

Catalogo: @CATALOG_NOTIFY

BE-010: Analytics Module

ID: BE-010
Descripcion: Metricas, reportes
Estado: Pendiente
Dependencias: BE-004, DB-008

Entregables:
  - src/modules/analytics/analytics.module.ts
  - src/modules/analytics/entities/*.entity.ts
  - src/modules/analytics/services/*.service.ts
  - src/modules/analytics/controllers/*.controller.ts

Registro de Tareas Completadas

[BE-001] Setup Inicial NestJS

Fecha: 2025-12-08 Estado: Completado Agente: Backend-Agent-PMC

Descripcion

Setup inicial del proyecto NestJS con configuracion completa incluyendo TypeORM, JWT, BullMQ, Swagger.

Archivos Creados

  • apps/backend/package.json
  • apps/backend/tsconfig.json
  • apps/backend/nest-cli.json
  • apps/backend/.env.example
  • apps/backend/src/main.ts
  • apps/backend/src/app.module.ts
  • apps/backend/src/config/database.config.ts
  • apps/backend/src/config/redis.config.ts
  • apps/backend/src/config/jwt.config.ts
  • apps/backend/src/config/storage.config.ts

Validaciones Ejecutadas

  • Estructura de carpetas correcta
  • Dependencias definidas en package.json
  • Swagger configurado en /docs

[BE-002] Common Module

Fecha: 2025-12-08 Estado: Completado Agente: Backend-Agent-PMC

Descripcion

Decoradores, guards, filters y servicios base para multi-tenancy.

Archivos Creados

  • src/common/decorators/current-user.decorator.ts
  • src/common/decorators/current-tenant.decorator.ts
  • src/common/decorators/roles.decorator.ts
  • src/common/decorators/public.decorator.ts
  • src/common/guards/jwt-auth.guard.ts
  • src/common/guards/roles.guard.ts
  • src/common/guards/tenant-member.guard.ts
  • src/common/filters/http-exception.filter.ts
  • src/shared/entities/tenant-aware.entity.ts
  • src/shared/services/tenant-aware.service.ts
  • src/shared/dto/pagination.dto.ts

Catalogo Integrado

  • @CATALOG_AUTH patterns

[BE-003] Auth Module

Fecha: 2025-12-08 Estado: Completado Agente: Backend-Agent-PMC

Descripcion

Modulo de autenticacion con JWT, registro, login, refresh tokens.

Archivos Creados

  • src/modules/auth/auth.module.ts
  • src/modules/auth/entities/user.entity.ts
  • src/modules/auth/entities/session.entity.ts
  • src/modules/auth/services/auth.service.ts
  • src/modules/auth/controllers/auth.controller.ts
  • src/modules/auth/dto/register.dto.ts
  • src/modules/auth/dto/login.dto.ts
  • src/modules/auth/dto/auth-response.dto.ts
  • src/modules/auth/strategies/jwt.strategy.ts

Endpoints Creados

Metodo Path Descripcion
POST /api/v1/auth/register Registrar usuario
POST /api/v1/auth/login Iniciar sesion
POST /api/v1/auth/logout Cerrar sesion
POST /api/v1/auth/refresh Refrescar tokens

[BE-004] Tenants Module

Fecha: 2025-12-08 Estado: Completado Agente: Backend-Agent-PMC

Descripcion

Modulo de gestion de tenants y planes.

Archivos Creados

  • src/modules/tenants/tenants.module.ts
  • src/modules/tenants/entities/tenant.entity.ts
  • src/modules/tenants/entities/tenant-plan.entity.ts
  • src/modules/tenants/services/tenants.service.ts
  • src/modules/tenants/controllers/tenants.controller.ts
  • src/modules/tenants/dto/create-tenant.dto.ts
  • src/modules/tenants/dto/update-tenant.dto.ts

Endpoints Creados

Metodo Path Descripcion
POST /api/v1/tenants Crear tenant
GET /api/v1/tenants/current Obtener tenant actual
GET /api/v1/tenants/current/usage Ver uso del tenant
PUT /api/v1/tenants/current Actualizar tenant
GET /api/v1/tenants/plans Listar planes

Referencias

  • Inventario Backend: orchestration/inventarios/BACKEND_INVENTORY.yml
  • Definicion modulos: docs/02-definicion-modulos/
  • Prompt Backend: orchestration/prompts/PROMPT-BACKEND-PMC.md
  • Nomenclatura: orchestration/directivas/GUIA-NOMENCLATURA-PMC.md

Generado por: Requirements-Analyst Fecha: 2025-12-08