--- id: "EPIC-001" title: "Setup y Autenticacion" type: "Epic" status: "Done" priority: "Alta" project: "platform_marketing_content" phase: 1 story_points: 40 user_stories_count: 8 created_date: "2025-12-08" updated_date: "2026-01-04" --- # EPIC-001: Setup y Autenticación **Versión:** 1.0.0 **Fecha:** 2025-12-08 **Fase:** 1 - MVP Core --- ## Descripción Esta épica cubre la configuración inicial del sistema, autenticación de usuarios, gestión de roles y permisos. --- ## User Stories ### US-001-001: Crear Tenant Inicial **Como** Super Admin del sistema **Quiero** crear el tenant principal de la agencia **Para** comenzar a usar la plataforma **Criterios de Aceptación:** - [ ] Puedo ingresar nombre y slug del tenant - [ ] El sistema crea el tenant con plan "Internal" - [ ] Se crea automáticamente un usuario admin inicial - [ ] RLS queda configurado para el tenant **Prioridad:** Must Have --- ### US-001-002: Login de Usuario **Como** usuario de la agencia **Quiero** iniciar sesión con mi email y contraseña **Para** acceder a la plataforma **Criterios de Aceptación:** - [ ] Formulario de login con email y password - [ ] Validación de credenciales - [ ] Generación de JWT token - [ ] Redirección al dashboard después de login exitoso - [ ] Mensaje de error claro si credenciales son inválidas - [ ] Bloqueo después de 5 intentos fallidos **Prioridad:** Must Have --- ### US-001-003: Logout **Como** usuario autenticado **Quiero** cerrar mi sesión **Para** proteger mi cuenta cuando dejo de usar la plataforma **Criterios de Aceptación:** - [ ] Botón de logout visible en el menú - [ ] Token invalidado al hacer logout - [ ] Redirección a página de login - [ ] Sesión no puede reutilizarse después de logout **Prioridad:** Must Have --- ### US-001-004: Invitar Usuario al Tenant **Como** Admin de la agencia **Quiero** invitar a nuevos usuarios por email **Para** que mi equipo pueda acceder a la plataforma **Criterios de Aceptación:** - [ ] Formulario para ingresar email del invitado - [ ] Selector de rol a asignar - [ ] Email de invitación enviado con link único - [ ] Link expira en 7 días - [ ] Puedo ver lista de invitaciones pendientes - [ ] Puedo reenviar o cancelar invitaciones **Prioridad:** Must Have --- ### US-001-005: Aceptar Invitación y Crear Cuenta **Como** usuario invitado **Quiero** aceptar la invitación y crear mi cuenta **Para** acceder a la plataforma **Criterios de Aceptación:** - [ ] Link de invitación me lleva a formulario de registro - [ ] Email ya está pre-llenado y no es editable - [ ] Debo ingresar nombre, apellido y contraseña - [ ] Contraseña debe cumplir requisitos mínimos (8 chars, 1 número) - [ ] Al completar, puedo hacer login inmediatamente - [ ] Invitación queda marcada como aceptada **Prioridad:** Must Have --- ### US-001-006: Ver y Editar Mi Perfil **Como** usuario autenticado **Quiero** ver y editar mi información personal **Para** mantener mis datos actualizados **Criterios de Aceptación:** - [ ] Puedo ver mi nombre, email, rol - [ ] Puedo editar nombre y apellido - [ ] Puedo subir/cambiar mi avatar - [ ] Puedo cambiar mi contraseña (requiere contraseña actual) - [ ] Puedo configurar preferencias (idioma, timezone) **Prioridad:** Should Have --- ### US-001-007: Gestionar Usuarios del Tenant **Como** Admin de la agencia **Quiero** ver y gestionar los usuarios de mi equipo **Para** controlar quién tiene acceso **Criterios de Aceptación:** - [ ] Lista de usuarios con nombre, email, rol, status, último login - [ ] Puedo filtrar por rol o status - [ ] Puedo buscar por nombre o email - [ ] Puedo cambiar el rol de un usuario - [ ] Puedo suspender un usuario - [ ] Puedo reactivar un usuario suspendido - [ ] No puedo suspenderme a mí mismo **Prioridad:** Must Have --- ### US-001-008: Ver Roles y Permisos **Como** Admin de la agencia **Quiero** ver qué puede hacer cada rol **Para** asignar roles apropiados a mi equipo **Criterios de Aceptación:** - [ ] Lista de roles disponibles - [ ] Al seleccionar un rol, veo sus permisos organizados por módulo - [ ] Identificación clara de roles de sistema vs custom - [ ] Puedo ver cuántos usuarios tienen cada rol **Prioridad:** Should Have --- ## Notas Técnicas - Usar JWT con refresh tokens - Passwords hasheados con bcrypt - Implementar rate limiting en endpoint de login - Tokens de invitación deben ser únicos y no predecibles - Considerar implementar 2FA en fase posterior --- ## Dependencias - Ninguna (primera épica a implementar) --- **Documento generado por:** Requirements-Analyst **Fecha:** 2025-12-08