- 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>
187 lines
4.5 KiB
Markdown
187 lines
4.5 KiB
Markdown
---
|
|
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
|