ML Engine Updates: - Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records - Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence) - Backtest results: +176.71R profit with aggressive_filter strategy Documentation Consolidation: - Created docs/99-analisis/_MAP.md index with 13 new analysis documents - Consolidated inventories: removed duplicates from orchestration/inventarios/ - Updated ML_INVENTORY.yml with BTCUSD metrics and training results - Added execution reports: FASE11-BTCUSD, correction issues, alignment validation Architecture & Integration: - Updated all module documentation with NEXUS v3.4 frontmatter - Fixed _MAP.md indexes across all folders - Updated orchestration plans and traces Files: 229 changed, 5064 insertions(+), 1872 deletions(-) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9.3 KiB
| id | title | type | status | priority | epic | story_points | created_date | updated_date |
|---|---|---|---|---|---|---|---|---|
| US-AUTH-001 | Registro con Email | User Story | Done | Alta | OQI-001 | 5 | 2025-12-05 | 2026-01-04 |
US-AUTH-001: Registro con Email
Version: 1.0.0 Fecha: 2025-12-05 Estado: ✅ Implementado Story Points: 5 Prioridad: P0 (Crítica) Épica: OQI-001
Historia de Usuario
Como visitante de Trading Platform Quiero poder crear una cuenta usando mi email y contraseña Para acceder a las funcionalidades de la plataforma
Criterios de Aceptación
AC-001: Formulario de registro
Dado que soy un visitante en la página de registro Cuando veo el formulario Entonces debería ver campos para:
- Contraseña
- Confirmar contraseña
- Nombre
- Apellido
- Checkbox de términos y condiciones
AC-002: Validación de email
Dado que estoy llenando el formulario de registro Cuando ingreso un email inválido Entonces debería ver un mensaje de error "Email inválido" Y el botón de registro debería estar deshabilitado
AC-003: Validación de contraseña
Dado que estoy llenando el formulario de registro Cuando ingreso una contraseña que no cumple los requisitos Entonces debería ver indicadores visuales de:
- ❌/✅ Mínimo 8 caracteres
- ❌/✅ Al menos una mayúscula
- ❌/✅ Al menos una minúscula
- ❌/✅ Al menos un número
- ❌/✅ Al menos un carácter especial
AC-004: Confirmación de contraseña
Dado que estoy llenando el formulario de registro Cuando las contraseñas no coinciden Entonces debería ver un mensaje de error "Las contraseñas no coinciden"
AC-005: Registro exitoso
Dado que completé el formulario correctamente Cuando hago click en "Registrarme" Entonces debería:
- Ver un mensaje "Cuenta creada. Revisa tu email para verificar"
- Recibir un email de verificación
- Ser redirigido a una página de confirmación
AC-006: Email duplicado
Dado que intento registrarme con un email que ya existe Cuando envío el formulario Entonces debería ver un mensaje "Este email ya está registrado"
AC-007: Email de verificación
Dado que me registré exitosamente Cuando reviso mi email Entonces debería recibir un email con:
- Asunto: "Verifica tu cuenta de Trading Platform"
- Un link de verificación válido por 24 horas
- Instrucciones claras
AC-008: Verificación de email
Dado que recibí el email de verificación Cuando hago click en el link de verificación Entonces debería:
- Ver un mensaje "Email verificado exitosamente"
- Poder hacer login con mis credenciales
Mockup
┌─────────────────────────────────────────────────────────────┐
│ │
│ 🌟 Crea tu cuenta en Trading Platform │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Email │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ usuario@example.com │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Contraseña │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••• 👁 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ✅ Mínimo 8 caracteres │ │
│ │ ✅ Una mayúscula │ │
│ │ ✅ Una minúscula │ │
│ │ ✅ Un número │ │
│ │ ❌ Un carácter especial │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Confirmar contraseña │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ •••••••••••• 👁 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────┐ ┌────────────────────────┐ │
│ │ Nombre │ │ Apellido │ │
│ │ ┌──────────────────┐ │ │ ┌──────────────────┐ │ │
│ │ │ Juan │ │ │ │ Pérez │ │ │
│ │ └──────────────────┘ │ │ └──────────────────┘ │ │
│ └────────────────────────┘ └────────────────────────┘ │
│ │
│ ☐ Acepto los Términos de Servicio y Política de │
│ Privacidad │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Crear mi cuenta │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ─────────────────── O continúa con ─────────────────── │
│ │
│ [Google] [Facebook] [X] [Apple] [GitHub] │
│ │
│ ¿Ya tienes cuenta? Inicia sesión │
│ │
└─────────────────────────────────────────────────────────────┘
Notas Técnicas
Frontend
- Componente:
apps/frontend/src/modules/auth/pages/Register.tsx - Validación en tiempo real con React Hook Form + Zod
- Debounce de 300ms para validación de email
- Password strength indicator visual
Backend
- Endpoint:
POST /api/v1/auth/register - Validación con Zod
- Hash con bcrypt (cost 12)
- Email con Nodemailer + plantilla HTML
Database
- Tabla:
users - Status inicial:
pending_verification - Trigger: Crea
user_profilesautomáticamente
Dependencias
- Ninguna (primer flujo de auth)