platform-marketing-content/docs/05-user-stories/EPIC-003-PROJECTS.md

214 lines
5.4 KiB
Markdown

# EPIC-003: Proyectos y Campañas
**Versión:** 1.0.0
**Fecha:** 2025-12-08
**Fase:** 1 - MVP Core
---
## Descripción
Esta épica cubre la gestión de proyectos, campañas, briefs creativos y flujos de aprobación.
---
## User Stories
### US-003-001: Crear Proyecto
**Como** creativo
**Quiero** crear un nuevo proyecto para un cliente
**Para** organizar las campañas y el trabajo
**Criterios de Aceptación:**
- [ ] Formulario con: nombre, cliente, descripción, fechas
- [ ] Código de proyecto generado automáticamente (PRJ-YYYY-XXX)
- [ ] Status inicial "draft"
- [ ] Yo quedo como owner del proyecto
- [ ] Redirección al dashboard del proyecto
**Prioridad:** Must Have
---
### US-003-002: Ver Dashboard de Proyecto
**Como** miembro del equipo del proyecto
**Quiero** ver el estado general del proyecto
**Para** saber en qué punto estamos
**Criterios de Aceptación:**
- [ ] Resumen: nombre, cliente, fechas, status
- [ ] Lista de campañas con sus estados
- [ ] Últimos assets generados
- [ ] Actividad reciente del equipo
- [ ] Acciones rápidas: nueva campaña, ir a assets
**Prioridad:** Must Have
---
### US-003-003: Crear Campaña
**Como** creativo
**Quiero** crear una campaña dentro de un proyecto
**Para** organizar el contenido por objetivo
**Criterios de Aceptación:**
- [ ] Formulario con: nombre, marca, tipo, canales
- [ ] Tipos: social_media, performance_ads, catalog, landing, email, other
- [ ] Canales seleccionables (checkboxes)
- [ ] Status inicial "draft"
- [ ] Brief vacío inicializado
**Prioridad:** Must Have
---
### US-003-004: Completar Brief de Campaña
**Como** creativo
**Quiero** completar el brief de una campaña
**Para** guiar la generación de contenido
**Criterios de Aceptación:**
- [ ] Formulario estructurado con secciones colapsables
- [ ] Sección Objetivo: descripción, KPIs
- [ ] Sección Audiencia: demographics, pain points
- [ ] Sección Mensajes: mensaje principal, tono, CTA
- [ ] Sección Visual: estilo, mood, referencias
- [ ] Sección Restricciones: palabras prohibidas, disclaimers
- [ ] Sección Entregables: formatos y cantidades
- [ ] Guardado automático (draft)
- [ ] Botón "Completar brief" que cambia estado a "briefing"
**Prioridad:** Must Have
---
### US-003-005: Usar Plantilla de Brief
**Como** creativo
**Quiero** cargar un brief desde una plantilla
**Para** ahorrar tiempo en briefs similares
**Criterios de Aceptación:**
- [ ] Botón "Usar plantilla" en editor de brief
- [ ] Lista de plantillas disponibles con preview
- [ ] Al seleccionar, campos se pre-llenan
- [ ] Puedo editar después de cargar
- [ ] No sobreescribe datos ya ingresados sin confirmar
**Prioridad:** Could Have
---
### US-003-006: Lanzar Generación desde Campaña
**Como** creativo
**Quiero** iniciar la generación de contenido desde el brief
**Para** crear los assets de la campaña
**Criterios de Aceptación:**
- [ ] Botón "Generar contenido" cuando brief está completo
- [ ] Modal para seleccionar workflows según entregables
- [ ] Configurar cantidad por workflow
- [ ] Ver tiempo estimado
- [ ] Al confirmar, jobs se crean y encolan
- [ ] Status de campaña cambia a "in_production"
- [ ] Ver progreso en tiempo real
**Prioridad:** Must Have
---
### US-003-007: Ver Estado de Generación
**Como** creativo
**Quiero** monitorear el progreso de los jobs de generación
**Para** saber cuándo estarán listos los assets
**Criterios de Aceptación:**
- [ ] Lista de jobs con: tipo, status, progreso %
- [ ] Actualización en tiempo real (websocket)
- [ ] Al completar un job, preview del resultado
- [ ] Posibilidad de cancelar jobs pendientes
- [ ] Mensaje claro si hay errores
**Prioridad:** Must Have
---
### US-003-008: Revisar y Aprobar Assets
**Como** creativo o admin
**Quiero** revisar los assets generados y aprobarlos
**Para** seleccionar qué se entrega al cliente
**Criterios de Aceptación:**
- [ ] Galería de assets de la campaña
- [ ] Filtro por status: todos, pendientes, aprobados, rechazados
- [ ] Lightbox para ver asset en grande
- [ ] Botones: Aprobar, Rechazar, Solicitar revisión
- [ ] Al rechazar, feedback obligatorio
- [ ] Status de campaña cambia a "review" cuando hay assets
**Prioridad:** Must Have
---
### US-003-009: Regenerar Asset Rechazado
**Como** creativo
**Quiero** regenerar un asset rechazado con ajustes
**Para** obtener una mejor versión
**Criterios de Aceptación:**
- [ ] Botón "Regenerar" en assets rechazados
- [ ] Modal con parámetros pre-cargados
- [ ] Opción de modificar prompt/opciones
- [ ] Nuevo asset creado como versión relacionada
- [ ] Original se mantiene en historial
**Prioridad:** Should Have
---
### US-003-010: Descargar Assets Aprobados
**Como** creativo
**Quiero** descargar todos los assets aprobados de la campaña
**Para** entregar al cliente
**Criterios de Aceptación:**
- [ ] Botón "Descargar aprobados" en campaña
- [ ] ZIP generado con estructura organizada
- [ ] Incluir copys como archivos .txt
- [ ] Progreso visible mientras se genera el ZIP
- [ ] Descarga automática cuando está listo
- [ ] Opción de selección manual de qué incluir
**Prioridad:** Must Have
---
## Notas Técnicas
- Brief almacenado como JSONB
- Websocket para actualizaciones de progreso
- ZIP generado async, no bloquear UI
- Considerar pre-generar ZIP cuando todo está aprobado
---
## Dependencias
- EPIC-001: Autenticación
- EPIC-002: CRM (clientes, marcas)
- EPIC-004: Motor de generación
---
**Documento generado por:** Requirements-Analyst
**Fecha:** 2025-12-08