platform-marketing-content/docs/03-requerimientos/RF-PMC-003-PROJECTS.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

518 lines
11 KiB
Markdown

---
id: "RF-PMC-003"
title: "Projects Module"
type: "Requirement"
status: "Done"
priority: "Alta"
module: "projects"
project: "platform_marketing_content"
version: "1.0"
rf_count: 15
created_date: "2025-12-08"
updated_date: "2026-01-04"
---
# Requerimientos Funcionales - PMC-003 Projects
**Módulo:** Projects
**Versión:** 1.0.0
**Fecha:** 2025-12-08
---
## Gestión de Proyectos
### RF-PMC-003-001: Crear Proyecto
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-001 |
| **Nombre** | Crear Proyecto |
| **Prioridad** | P1 |
| **Actor** | Creative, Tenant Admin |
**Datos de entrada:**
- client_id: UUID (requerido)
- name: string (requerido)
- description: text (opcional)
- start_date: date (opcional)
- end_date: date (opcional)
- budget: decimal (opcional)
**Criterios de aceptación:**
- [ ] Proyecto se crea con status "draft"
- [ ] Código autogenerado (PRJ-YYYY-XXX)
- [ ] Owner asignado al creador
---
### RF-PMC-003-002: Editar Proyecto
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-002 |
| **Nombre** | Editar Proyecto |
| **Prioridad** | P1 |
| **Actor** | Project Owner, Tenant Admin |
**Criterios de aceptación:**
- [ ] Campos básicos editables
- [ ] Cambio de cliente requiere confirmación
- [ ] Historial de cambios registrado
---
### RF-PMC-003-003: Cambiar Estado de Proyecto
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-003 |
| **Nombre** | Cambiar Estado de Proyecto |
| **Prioridad** | P1 |
| **Actor** | Project Owner, Tenant Admin |
**Estados válidos:**
- draft → active
- active → on_hold, completed
- on_hold → active
- cualquiera → cancelled
**Criterios de aceptación:**
- [ ] Transiciones válidas se permiten
- [ ] Transiciones inválidas se bloquean
- [ ] Notificación al equipo en cambio de estado
---
### RF-PMC-003-004: Asignar Equipo a Proyecto
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-004 |
| **Nombre** | Asignar Equipo a Proyecto |
| **Prioridad** | P2 |
| **Actor** | Project Owner, Tenant Admin |
**Descripción:**
Agregar o quitar miembros del equipo de un proyecto.
**Criterios de aceptación:**
- [ ] Usuarios del tenant pueden asignarse
- [ ] Owner siempre está en el equipo
- [ ] Notificación al agregar miembro
---
### RF-PMC-003-005: Listar Proyectos
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-005 |
| **Nombre** | Listar Proyectos |
| **Prioridad** | P1 |
| **Actor** | Todos los roles |
**Filtros:**
- client_id
- status
- owner_id
- date_range
**Criterios de aceptación:**
- [ ] Paginación funciona
- [ ] Filtros combinables
- [ ] Vista lista y tarjetas
---
### RF-PMC-003-006: Ver Dashboard de Proyecto
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-006 |
| **Nombre** | Ver Dashboard de Proyecto |
| **Prioridad** | P1 |
| **Actor** | Miembros del proyecto |
**Información mostrada:**
- Resumen del proyecto
- Campañas con estado
- Assets recientes
- Actividad del equipo
- Métricas de progreso
**Criterios de aceptación:**
- [ ] Dashboard carga correctamente
- [ ] Métricas calculadas en tiempo real
- [ ] Acciones rápidas disponibles
---
## Gestión de Campañas
### RF-PMC-003-007: Crear Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-007 |
| **Nombre** | Crear Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Datos de entrada:**
- project_id: UUID (requerido)
- brand_id: UUID (requerido)
- name: string (requerido)
- type: enum (requerido)
- channels: array[string]
- start_date: date (opcional)
- end_date: date (opcional)
**Criterios de aceptación:**
- [ ] Campaña se crea con status "draft"
- [ ] Brand se vincula correctamente
- [ ] Brief vacío se inicializa
---
### RF-PMC-003-008: Editar Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-008 |
| **Nombre** | Editar Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Criterios de aceptación:**
- [ ] Campos básicos editables en cualquier estado
- [ ] Brief editable hasta "in_production"
---
### RF-PMC-003-009: Completar Brief de Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-009 |
| **Nombre** | Completar Brief de Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Secciones del Brief:**
- Objetivo: descripción, KPIs
- Audiencia: demographics, psychographics, pain_points
- Mensajes: main_message, tone, CTA, hashtags
- Visual: style, mood, color_palette, references
- Restricciones: forbidden_words, disclaimers
- Entregables: formatos, cantidades
**Criterios de aceptación:**
- [ ] Formulario con secciones colapsables
- [ ] Validación de campos mínimos
- [ ] Guardado automático (draft)
- [ ] Al completar: estado → "briefing"
---
### RF-PMC-003-010: Usar Plantilla de Brief
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-010 |
| **Nombre** | Usar Plantilla de Brief |
| **Prioridad** | P2 |
| **Actor** | Creative |
**Descripción:**
Cargar brief desde una plantilla predefinida.
**Criterios de aceptación:**
- [ ] Listado de plantillas disponibles
- [ ] Preview de plantilla antes de aplicar
- [ ] Campos se pre-llenan pero son editables
---
### RF-PMC-003-011: Cambiar Estado de Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-011 |
| **Nombre** | Cambiar Estado de Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative, Tenant Admin |
**Estados y transiciones:**
```
draft → briefing → in_production → review → approved → published
↑_______________|
(revision_requested)
```
**Validaciones:**
- briefing → in_production: brief mínimo completado
- review → approved: al menos 1 asset aprobado
- approved → published: confirmación requerida
**Criterios de aceptación:**
- [ ] Transiciones válidas funcionan
- [ ] Validaciones se aplican
- [ ] Notificaciones en cada cambio
---
### RF-PMC-003-012: Listar Campañas
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-012 |
| **Nombre** | Listar Campañas |
| **Prioridad** | P1 |
| **Actor** | Todos los roles |
**Vistas:**
- Lista con filtros
- Kanban por estado
- Calendario por fechas
**Criterios de aceptación:**
- [ ] Filtro por proyecto, brand, status, type
- [ ] Vista Kanban con drag & drop
- [ ] Búsqueda por nombre
---
### RF-PMC-003-013: Ver Detalle de Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-013 |
| **Nombre** | Ver Detalle de Campaña |
| **Prioridad** | P1 |
| **Actor** | Miembros del proyecto |
**Información mostrada:**
- Datos de campaña
- Brief completo
- Assets generados con estados
- Historial de actividad
- Jobs de generación
**Criterios de aceptación:**
- [ ] Todas las secciones visibles
- [ ] Assets organizados por estado
- [ ] Acciones contextuales disponibles
---
## Generación de Contenido
### RF-PMC-003-014: Lanzar Generación desde Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-014 |
| **Nombre** | Lanzar Generación desde Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Flujo:**
1. Usuario abre campaña en status "briefing" o superior
2. Selecciona "Generar contenido"
3. Elige workflows según deliverables del brief
4. Configura opciones adicionales
5. Sistema crea jobs de generación
6. Sistema cambia status a "in_production" si no lo está
**Criterios de aceptación:**
- [ ] Brief se usa para configurar generación
- [ ] Múltiples workflows ejecutables
- [ ] Progreso visible en tiempo real
---
### RF-PMC-003-015: Seleccionar Workflows de Generación
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-015 |
| **Nombre** | Seleccionar Workflows de Generación |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Descripción:**
Elegir qué workflows ejecutar basado en deliverables del brief.
**Criterios de aceptación:**
- [ ] Workflows sugeridos según tipo de campaña
- [ ] Preview de cada workflow
- [ ] Configuración de cantidad por workflow
---
### RF-PMC-003-016: Monitorear Progreso de Generación
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-016 |
| **Nombre** | Monitorear Progreso de Generación |
| **Prioridad** | P1 |
| **Actor** | Creative |
**Información mostrada:**
- Jobs en cola
- Jobs procesando (con %)
- Jobs completados
- Jobs fallidos
**Criterios de aceptación:**
- [ ] Actualización en tiempo real (websocket)
- [ ] Posibilidad de cancelar jobs pendientes
- [ ] Reintentar jobs fallidos
---
## Flujo de Aprobación
### RF-PMC-003-017: Aprobar Asset de Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-017 |
| **Nombre** | Aprobar Asset de Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative, Tenant Admin |
**Flujo:**
1. Usuario revisa asset en vista de revisión
2. Selecciona "Aprobar"
3. Sistema marca asset como aprobado
4. Sistema registra aprobador y timestamp
**Criterios de aceptación:**
- [ ] Asset cambia a status "approved"
- [ ] Metadata de aprobación registrada
- [ ] No editable después de aprobar
---
### RF-PMC-003-018: Rechazar Asset de Campaña
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-018 |
| **Nombre** | Rechazar Asset de Campaña |
| **Prioridad** | P1 |
| **Actor** | Creative, Tenant Admin |
**Flujo:**
1. Usuario revisa asset
2. Selecciona "Rechazar"
3. Sistema solicita feedback obligatorio
4. Sistema marca asset como rechazado
**Criterios de aceptación:**
- [ ] Feedback es requerido
- [ ] Asset puede regenerarse
- [ ] Historial de rechazos visible
---
### RF-PMC-003-019: Solicitar Revisión de Asset
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-019 |
| **Nombre** | Solicitar Revisión de Asset |
| **Prioridad** | P2 |
| **Actor** | Creative |
**Descripción:**
Pedir cambios específicos en un asset antes de decidir.
**Criterios de aceptación:**
- [ ] Comentario con posición en imagen
- [ ] Asset queda en "revision_requested"
- [ ] Notificación a equipo
---
### RF-PMC-003-020: Aprobar Todos los Assets
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-020 |
| **Nombre** | Aprobar Todos los Assets |
| **Prioridad** | P2 |
| **Actor** | Tenant Admin |
**Descripción:**
Acción bulk para aprobar todos los assets pendientes.
**Criterios de aceptación:**
- [ ] Confirmación requerida
- [ ] Solo assets en "pending_review"
- [ ] Registro individual por asset
---
### RF-PMC-003-021: Regenerar Asset
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-021 |
| **Nombre** | Regenerar Asset |
| **Prioridad** | P2 |
| **Actor** | Creative |
**Descripción:**
Crear nueva versión de un asset rechazado o en revisión.
**Flujo:**
1. Usuario selecciona asset rechazado
2. Selecciona "Regenerar"
3. Opcionalmente ajusta parámetros
4. Sistema crea nuevo job
5. Nuevo asset se vincula como versión
**Criterios de aceptación:**
- [ ] Parámetros originales pre-cargados
- [ ] Historial de versiones mantenido
- [ ] Original no se elimina
---
### RF-PMC-003-022: Descargar Assets Aprobados
| Campo | Valor |
|-------|-------|
| **ID** | RF-PMC-003-022 |
| **Nombre** | Descargar Assets Aprobados |
| **Prioridad** | P1 |
| **Actor** | Creative, Tenant Admin |
**Descripción:**
Descargar pack de todos los assets aprobados de la campaña.
**Criterios de aceptación:**
- [ ] ZIP generado con estructura organizada
- [ ] Solo assets aprobados incluidos
- [ ] Copys incluidos como .txt
- [ ] Opción de selección manual
---
## Resumen
| Prioridad | Cantidad |
|-----------|----------|
| P1 | 15 |
| P2 | 7 |
| **Total** | **22** |
---
**Documento generado por:** Requirements-Analyst
**Fecha:** 2025-12-08