# EPIC-002: Gestión de CRM

**Versión:** 1.0.0
**Fecha:** 2025-12-08
**Fase:** 1 - MVP Core

---

## Descripción

Esta épica cubre la gestión de clientes, contactos, marcas y productos del CRM integrado.

---

## User Stories

### US-002-001: Crear Cliente

**Como** miembro del equipo creativo
**Quiero** registrar un nuevo cliente
**Para** organizar el trabajo por cliente

**Criterios de Aceptación:**
- [ ] Formulario con campos: nombre, nombre legal, industria, tamaño, website
- [ ] Campo de notas para información adicional
- [ ] Cliente se crea con status "prospect"
- [ ] Redirección a ficha del cliente después de crear

**Prioridad:** Must Have

---

### US-002-002: Ver Ficha de Cliente

**Como** miembro del equipo
**Quiero** ver toda la información de un cliente en un solo lugar
**Para** tener contexto completo al trabajar

**Criterios de Aceptación:**
- [ ] Vista con tabs: Info, Contactos, Marcas, Proyectos
- [ ] Resumen de actividad reciente
- [ ] Acciones rápidas: nueva marca, nuevo proyecto, nuevo contacto
- [ ] Datos editables inline o en modal

**Prioridad:** Must Have

---

### US-002-003: Listar y Buscar Clientes

**Como** miembro del equipo
**Quiero** ver todos los clientes y buscar uno específico
**Para** encontrar rápidamente al cliente que necesito

**Criterios de Aceptación:**
- [ ] Lista con nombre, industria, status, fecha de creación
- [ ] Filtros por status e industria
- [ ] Búsqueda por nombre
- [ ] Ordenamiento por nombre o fecha
- [ ] Paginación funcional

**Prioridad:** Must Have

---

### US-002-004: Crear Contacto de Cliente

**Como** miembro del equipo
**Quiero** agregar contactos a un cliente
**Para** saber con quién comunicarme

**Criterios de Aceptación:**
- [ ] Formulario con: nombre, apellido, email, teléfono, cargo
- [ ] Checkbox para marcar como contacto primario
- [ ] Contacto asociado al cliente seleccionado
- [ ] Validación de formato de email

**Prioridad:** Must Have

---

### US-002-005: Crear Marca de Cliente

**Como** creativo
**Quiero** crear marcas asociadas a un cliente
**Para** organizar el contenido por marca

**Criterios de Aceptación:**
- [ ] Formulario con nombre y descripción
- [ ] Marca asociada al cliente seleccionado
- [ ] Opción de configurar identidad visual después de crear

**Prioridad:** Must Have

---

### US-002-006: Configurar Identidad Visual de Marca

**Como** creativo
**Quiero** definir la identidad visual de una marca
**Para** que el contenido generado sea consistente

**Criterios de Aceptación:**
- [ ] Subir logo (drag & drop o file picker)
- [ ] Selector de color para color primario
- [ ] Agregar colores secundarios
- [ ] Campo para tono de voz (dropdown + texto libre)
- [ ] Lista de keywords positivas
- [ ] Lista de palabras prohibidas
- [ ] Campo de estilo visual preferido
- [ ] Preview visual de la paleta de colores

**Prioridad:** Must Have

---

### US-002-007: Crear Producto de Marca

**Como** creativo
**Quiero** agregar productos a una marca
**Para** generar contenido específico por producto

**Criterios de Aceptación:**
- [ ] Formulario con: nombre, SKU, descripción, categoría
- [ ] Producto asociado a la marca seleccionada
- [ ] Opción de subir imágenes de referencia

**Prioridad:** Must Have

---

### US-002-008: Subir Imágenes de Referencia de Producto

**Como** creativo
**Quiero** subir fotos del producto real
**Para** que la IA genere contenido más preciso

**Criterios de Aceptación:**
- [ ] Upload múltiple de imágenes
- [ ] Drag & drop soportado
- [ ] Formatos: JPG, PNG, WebP
- [ ] Tamaño máximo 10MB por imagen
- [ ] Preview de imágenes subidas
- [ ] Posibilidad de eliminar imágenes

**Prioridad:** Must Have

---

### US-002-009: Generar Contenido desde Producto

**Como** creativo
**Quiero** lanzar generación de contenido desde la ficha de producto
**Para** crear assets rápidamente

**Criterios de Aceptación:**
- [ ] Botón "Generar contenido" visible en ficha de producto
- [ ] Modal para seleccionar workflow y opciones
- [ ] Datos del producto cargados automáticamente
- [ ] Identidad de marca aplicada automáticamente
- [ ] Feedback de que el job fue creado
- [ ] Link para ir a ver el progreso

**Prioridad:** Must Have

---

### US-002-010: Asociar LoRA a Marca

**Como** creativo
**Quiero** vincular modelos LoRA entrenados con una marca
**Para** que se usen automáticamente al generar contenido

**Criterios de Aceptación:**
- [ ] Sección "Modelos IA" en configuración de marca
- [ ] Lista de LoRAs disponibles del tenant
- [ ] Checkbox para seleccionar cuáles usar
- [ ] LoRA se aplica automáticamente en generación
- [ ] Indicador visual de que la marca tiene LoRAs configurados

**Prioridad:** Should Have

---

### US-002-011: Crear Oportunidad

**Como** analista CRM
**Quiero** registrar oportunidades de negocio
**Para** hacer seguimiento del pipeline de ventas

**Criterios de Aceptación:**
- [ ] Formulario con: nombre, cliente, valor, moneda, fecha esperada
- [ ] Stage inicial "lead"
- [ ] Asociar contacto opcional
- [ ] Campo de notas

**Prioridad:** Should Have

---

### US-002-012: Vista Kanban de Oportunidades

**Como** analista CRM
**Quiero** ver las oportunidades en un tablero Kanban
**Para** gestionar el pipeline visualmente

**Criterios de Aceptación:**
- [ ] Columnas por stage (lead, qualified, proposal, negotiation, won, lost)
- [ ] Cards con nombre, cliente, valor
- [ ] Drag & drop para mover entre stages
- [ ] Al mover a "won" o "lost", solicitar confirmación/motivo
- [ ] Filtros por cliente y fecha
- [ ] Totales por columna

**Prioridad:** Should Have

---

## Notas Técnicas

- Implementar RLS para aislamiento de datos
- Identidad visual almacenada como JSONB
- Imágenes de referencia en S3 con path estructurado
- Considerar cache de identidad de marca para generación

---

## Dependencias

- EPIC-001: Autenticación y usuarios

---

**Documento generado por:** Requirements-Analyst
**Fecha:** 2025-12-08
