# 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 - [x] Estructura de carpetas correcta - [x] Dependencias definidas en package.json - [x] 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