| id |
title |
type |
project |
updated_date |
| MAP-OQI-002-education |
Mapa de OQI-002-education |
Index |
trading-platform |
2026-01-04 |
_MAP: OQI-002 - Módulo Educativo
Última actualización: 2025-12-05
Estado: Parcialmente Implementado
Versión: 1.0.0
Propósito
Esta épica implementa la plataforma educativa de Trading Platform, permitiendo a los usuarios aprender trading a través de cursos estructurados con video, texto, quizzes y sistema de progreso con gamificación.
Contenido del Directorio
OQI-002-education/
├── README.md # Documentación técnica existente
├── _MAP.md # Este archivo - índice
├── requerimientos/ # Documentos de requerimientos funcionales
│ ├── RF-EDU-001-catalogo.md # Catálogo de cursos
│ ├── RF-EDU-002-lecciones.md # Sistema de lecciones
│ ├── RF-EDU-003-progreso.md # Tracking de progreso
│ ├── RF-EDU-004-quizzes.md # Sistema de quizzes
│ ├── RF-EDU-005-certificados.md # Certificaciones
│ └── RF-EDU-006-gamificacion.md # XP y badges
├── especificaciones/ # Especificaciones técnicas
│ ├── ET-EDU-001-database.md # Modelo de datos
│ ├── ET-EDU-002-api.md # Endpoints REST
│ ├── ET-EDU-003-frontend.md # Componentes React
│ ├── ET-EDU-004-video.md # Streaming de video
│ ├── ET-EDU-005-quizzes.md # Motor de quizzes
│ └── ET-EDU-006-gamification.md # Sistema de gamificación
├── historias-usuario/ # User Stories
│ ├── US-EDU-001-ver-catalogo.md
│ ├── US-EDU-002-ver-curso.md
│ ├── US-EDU-003-iniciar-leccion.md
│ ├── US-EDU-004-ver-video.md
│ ├── US-EDU-005-completar-leccion.md
│ ├── US-EDU-006-realizar-quiz.md
│ ├── US-EDU-007-ver-progreso.md
│ ├── US-EDU-008-obtener-certificado.md
│ ├── US-EDU-009-buscar-cursos.md
│ ├── US-EDU-010-filtrar-categoria.md
│ ├── US-EDU-011-marcar-favorito.md
│ ├── US-EDU-012-dejar-review.md
│ ├── US-EDU-013-ver-xp.md
│ ├── US-EDU-014-desbloquear-badge.md
│ └── US-EDU-015-continuar-donde-deje.md
└── implementacion/ # Trazabilidad de implementación
└── TRACEABILITY.yml
Requerimientos Funcionales
| ID |
Nombre |
Prioridad |
SP |
Estado |
| RF-EDU-001 |
Catálogo de Cursos |
P0 |
8 |
✅ Implementado |
| RF-EDU-002 |
Sistema de Lecciones |
P0 |
8 |
Pendiente |
| RF-EDU-003 |
Tracking de Progreso |
P0 |
8 |
Pendiente |
| RF-EDU-004 |
Sistema de Quizzes |
P1 |
8 |
Pendiente |
| RF-EDU-005 |
Certificaciones |
P2 |
5 |
Pendiente |
| RF-EDU-006 |
Gamificación |
P2 |
8 |
Pendiente |
Total: 45 SP
Especificaciones Técnicas
| ID |
Nombre |
Componente |
Estado |
| ET-EDU-001 |
Database |
Database |
✅ Schema existe |
| ET-EDU-002 |
API REST |
Backend |
✅ Parcial |
| ET-EDU-003 |
Frontend |
Frontend |
✅ Parcial |
| ET-EDU-004 |
Video Streaming |
Backend |
Pendiente |
| ET-EDU-005 |
Quiz Engine |
Backend |
Pendiente |
| ET-EDU-006 |
Gamification |
Backend/Frontend |
Pendiente |
Historias de Usuario
| ID |
Historia |
Prioridad |
SP |
Estado |
| US-EDU-001 |
Ver catálogo de cursos |
P0 |
3 |
✅ Implementado |
| US-EDU-002 |
Ver detalle de curso |
P0 |
3 |
✅ Implementado |
| US-EDU-003 |
Iniciar una lección |
P0 |
3 |
Pendiente |
| US-EDU-004 |
Ver video de lección |
P0 |
3 |
Pendiente |
| US-EDU-005 |
Completar lección |
P0 |
3 |
Pendiente |
| US-EDU-006 |
Realizar quiz |
P1 |
5 |
Pendiente |
| US-EDU-007 |
Ver mi progreso |
P0 |
3 |
Pendiente |
| US-EDU-008 |
Obtener certificado |
P2 |
3 |
Pendiente |
| US-EDU-009 |
Buscar cursos |
P1 |
2 |
Pendiente |
| US-EDU-010 |
Filtrar por categoría |
P1 |
2 |
Pendiente |
| US-EDU-011 |
Marcar favorito |
P2 |
2 |
Pendiente |
| US-EDU-012 |
Dejar review |
P2 |
3 |
Pendiente |
| US-EDU-013 |
Ver XP acumulado |
P2 |
2 |
Pendiente |
| US-EDU-014 |
Desbloquear badge |
P2 |
3 |
Pendiente |
| US-EDU-015 |
Continuar donde dejé |
P1 |
3 |
Pendiente |
Total: 45 SP
Dependencias
Depende de:
- OQI-001: Autenticación (usuarios, JWT) - ✅ Completado
- OQI-005: Pagos (compra de cursos premium) - Pendiente
Bloquea:
Stack Técnico
| Capa |
Tecnología |
Uso |
| Frontend |
React + Zustand |
UI y estado |
| Backend |
Express.js |
API REST |
| Database |
PostgreSQL |
Persistencia |
| Video |
Cloudflare Stream / S3 |
Hosting de videos |
| CDN |
Cloudflare |
Assets estáticos |
Entidades Principales
Category
- Categorías de cursos (Trading Básico, Análisis Técnico, etc.)
Course
- Curso con metadata, precio, nivel de dificultad
Module
- Agrupación de lecciones dentro de un curso
Lesson
- Contenido individual (video, artículo, quiz)
Enrollment
- Inscripción de usuario en curso
Progress
- Progreso del usuario por lección
Niveles de Dificultad
| Nivel |
Label |
Color |
Cursos típicos |
| beginner |
Principiante |
Verde |
Introducción al trading |
| intermediate |
Intermedio |
Azul |
Análisis técnico |
| advanced |
Avanzado |
Naranja |
Estrategias avanzadas |
| expert |
Experto |
Rojo |
Trading algorítmico |
Gamificación (Fase 2)
Sistema de XP
- Completar lección: +10 XP
- Aprobar quiz: +25 XP
- Completar curso: +100 XP
- Streak diario: +5 XP
Badges
- 🎓 "Primer Paso" - Completa tu primera lección
- 📚 "Estudiante Dedicado" - Completa 10 lecciones
- 🏆 "Graduado" - Completa tu primer curso
- 🔥 "En Racha" - 7 días seguidos de estudio
- 💯 "Perfeccionista" - 100% en un quiz
Criterios de Aceptación
Funcionales
No Funcionales
Técnicos
Hitos
| Hito |
Entregables |
Target |
| M1 |
Catálogo + detalle curso |
Sprint 3 ✅ |
| M2 |
Lecciones + videos |
Sprint 3 |
| M3 |
Progreso + quizzes |
Sprint 4 |
| M4 |
Gamificación + certificados |
Sprint 4 |
Reutilización de GAMILIT
Esta épica reutiliza ~70% de la arquitectura del proyecto GAMILIT:
- Estructura de cursos y lecciones
- Sistema de progreso
- Motor de quizzes
- Sistema de gamificación (XP, badges)
Referencias