# EPIC-005: Biblioteca de Assets (DAM)

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

---

## Descripción

Esta épica cubre la gestión de activos digitales: almacenamiento, organización, búsqueda y descarga.

---

## User Stories

### US-005-001: Ver Biblioteca de Assets

**Como** miembro del equipo
**Quiero** ver todos los assets de la agencia
**Para** encontrar y reutilizar contenido

**Criterios de Aceptación:**
- [ ] Vista grid con thumbnails
- [ ] Vista lista con metadata
- [ ] Toggle entre vistas
- [ ] Filtros por tipo, status, fecha
- [ ] Búsqueda por nombre y tags
- [ ] Paginación o scroll infinito

**Prioridad:** Must Have

---

### US-005-002: Subir Assets Manualmente

**Como** creativo
**Quiero** subir archivos manualmente
**Para** agregar contenido externo a la biblioteca

**Criterios de Aceptación:**
- [ ] Drag & drop o file picker
- [ ] Upload múltiple
- [ ] Progreso de upload visible
- [ ] Formatos soportados: PNG, JPG, WebP, GIF, MP4, PDF
- [ ] Tamaño máximo por archivo
- [ ] Opción de agregar nombre, tags al subir

**Prioridad:** Must Have

---

### US-005-003: Ver Detalle de Asset

**Como** miembro del equipo
**Quiero** ver un asset en detalle
**Para** evaluar si es lo que necesito

**Criterios de Aceptación:**
- [ ] Preview grande del asset
- [ ] Metadata: nombre, tipo, dimensiones, tamaño, fecha
- [ ] Si es generado: prompt, modelo usado, seed
- [ ] Tags editables
- [ ] Historial de versiones
- [ ] Comentarios
- [ ] Estado de aprobación
- [ ] Botones de acción: descargar, editar, eliminar

**Prioridad:** Must Have

---

### US-005-004: Editar Metadata de Asset

**Como** creativo
**Quiero** editar nombre, descripción y tags
**Para** organizar mejor los assets

**Criterios de Aceptación:**
- [ ] Campos editables: nombre, descripción
- [ ] Tags con autocompletado de existentes
- [ ] Cambios guardados inmediatamente
- [ ] Historial de cambios registrado

**Prioridad:** Must Have

---

### US-005-005: Descargar Asset

**Como** miembro del equipo
**Quiero** descargar un asset
**Para** usarlo fuera de la plataforma

**Criterios de Aceptación:**
- [ ] Botón de descarga visible
- [ ] Descargar en formato original
- [ ] Opción de convertir formato (PNG→JPG, etc.)
- [ ] Opción de descargar en tamaño reducido
- [ ] Registro de descarga guardado

**Prioridad:** Must Have

---

### US-005-006: Crear Colección

**Como** creativo
**Quiero** crear colecciones de assets
**Para** organizar el contenido por proyecto o tema

**Criterios de Aceptación:**
- [ ] Crear colección con nombre y descripción
- [ ] Tipo: manual o smart
- [ ] Para smart: definir criterios de filtrado
- [ ] Colección creada vacía lista para agregar assets

**Prioridad:** Should Have

---

### US-005-007: Agregar Assets a Colección

**Como** creativo
**Quiero** agregar assets a una colección
**Para** mantenerlos organizados

**Criterios de Aceptación:**
- [ ] Desde asset: botón "Agregar a colección"
- [ ] Desde colección: botón "Agregar assets"
- [ ] Selección múltiple para agregar varios
- [ ] Asset puede estar en múltiples colecciones
- [ ] Feedback de éxito

**Prioridad:** Should Have

---

### US-005-008: Descargar Colección Completa

**Como** creativo
**Quiero** descargar todos los assets de una colección
**Para** entregar un paquete completo

**Criterios de Aceptación:**
- [ ] Botón "Descargar colección"
- [ ] ZIP generado con todos los assets
- [ ] Estructura de carpetas opcional
- [ ] Progreso visible para colecciones grandes
- [ ] Opción de incluir solo aprobados

**Prioridad:** Should Have

---

### US-005-009: Agregar Comentario a Asset

**Como** miembro del equipo
**Quiero** comentar en un asset
**Para** dar feedback o notas

**Criterios de Aceptación:**
- [ ] Campo de texto para comentario
- [ ] Opción de marcar posición en imagen
- [ ] Ver comentarios existentes
- [ ] Responder a comentarios
- [ ] Marcar comentario como resuelto

**Prioridad:** Should Have

---

### US-005-010: Generar Link Temporal

**Como** creativo
**Quiero** generar un link de descarga temporal
**Para** compartir con alguien externo

**Criterios de Aceptación:**
- [ ] Botón "Compartir link"
- [ ] Configurar días de expiración (1-30)
- [ ] Link único generado
- [ ] Copiar link al portapapeles
- [ ] Link no requiere autenticación
- [ ] Contador de descargas visible

**Prioridad:** Could Have

---

## Notas Técnicas

- Thumbnails generados automáticamente al subir
- Almacenamiento en S3/MinIO
- Full-text search en PostgreSQL
- Soft delete con retención 30 días
- CDN para servir assets frecuentes

---

## Dependencias

- EPIC-001: Autenticación
- EPIC-004: Generación (assets generados se guardan aquí)

---

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