- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
20 KiB
ANÁLISIS DE ALCANCES RESTANTES - GAMILIT
Fecha: 2025-12-05 Versión: 1.0.0 Agente: Requirements-Analyst Estado del Proyecto: MVP 75% completado
RESUMEN EJECUTIVO
Estado General
| Métrica | Valor |
|---|---|
| Completitud Global | 75% |
| Fase 1 (Fundamentos) | 100% completada |
| Fase 2 (Expansión) | 75% en progreso |
| Fase 3 (Consolidación) | 0% pendiente |
| Story Points Restantes | ~97.5 SP |
| Bloqueadores Activos | 0 (resueltos) |
Hallazgos Principales
- Módulos 4 y 5 - Infraestructura completa pero requieren seeds y testing
- Sistema Social - Amigos y Gremios NO implementados (solo mockData frontend)
- Multiplicador ML Coins - Documentado pero NO implementado
- Test Coverage - 15% actual vs 70% objetivo
1. MÓDULOS EDUCATIVOS PENDIENTES (M4-M5)
ÉPICA: EAI-007 - Módulos Lectura Digital y Producción
Metadata
| Campo | Valor |
|---|---|
| ID | EAI-007 |
| Nombre | Módulos 4 y 5: Lectura Digital y Producción |
| Fase | Fase 2 - Expansión |
| Prioridad | P0 |
| Estado | In Progress (70%) |
| Story Points | 35 SP restantes |
Estado por Capa
| Capa | Módulo 4 | Módulo 5 | Estado |
|---|---|---|---|
| Documentación | 100% (5 ejercicios) | 100% (3 opciones) | ✅ Completa |
| Database | Validadores OK | Validadores OK | ⚠️ Falta seeds |
| Backend | Sin DTOs específicos | Sin DTOs específicos | ❌ Incompleto |
| Frontend | Componentes listos | Componentes listos | ⚠️ Sin integración |
| Gamificación | No integrado | No integrado | ❌ Pendiente |
Historias de Usuario Pendientes
US-M4-001: Integración Backend M4
Como desarrollador, quiero crear DTOs y servicios para Módulo 4, para que los ejercicios de lectura digital funcionen end-to-end.
Criterios de Aceptación:
DADO que un estudiante completa "Verificador de Fake News"
CUANDO envía sus respuestas al backend
ENTONCES el sistema valida la estructura JSONB
Y guarda en exercise_submissions con status "submitted"
Y notifica al docente para revisión manual
Tareas Técnicas:
- BE-M4-001: Crear DTOs para 5 tipos de ejercicio M4
- BE-M4-002: Integrar con ManualReviewService
- BE-M4-003: Crear endpoint POST /exercises/m4/:type/submit
- DB-M4-001: Crear seeds para 5 ejercicios M4
- TEST-M4-001: Tests de integración
Story Points: 8
US-M4-002: Integración Gamificación M4
Como estudiante, quiero recibir XP y ML Coins al completar ejercicios M4, para avanzar en mi progresión de rangos Maya.
Criterios de Aceptación:
DADO que un docente califica mi ejercicio M4 con puntuación > 0
CUANDO el docente confirma la calificación
ENTONCES recibo XP proporcional a mi puntuación (max 100 XP)
Y recibo ML Coins proporcional (max 20 ML)
Y mi progreso de rango se actualiza
Tareas Técnicas:
- BE-M4-004: Integrar award_xp() en ManualReviewService
- BE-M4-005: Integrar award_ml_coins() en ManualReviewService
- FE-M4-001: Mostrar rewards al recibir calificación
- TEST-M4-002: Tests de flujo de recompensas
Story Points: 5
US-M5-001: Integración Backend M5
Como desarrollador, quiero crear DTOs y servicios para Módulo 5, para que las opciones de producción (diario, cómic, video) funcionen.
Criterios de Aceptación:
DADO que un estudiante elige "Diario Multimedia"
CUANDO envía sus 5 entradas con contenido multimedia
ENTONCES el sistema valida la estructura (min 1 entrada, 50+ caracteres)
Y almacena archivos multimedia en storage
Y crea registro en manual_reviews para evaluación
Tareas Técnicas:
- BE-M5-001: Crear DTOs para 3 opciones M5
- BE-M5-002: Integrar con MediaStorageService
- BE-M5-003: Crear endpoint POST /exercises/m5/:type/submit
- DB-M5-001: Crear seeds para 3 opciones M5
- TEST-M5-001: Tests de integración
Story Points: 8
US-M5-002: Sistema de Revisión Manual Docente
Como docente, quiero ver y calificar ejercicios M4-M5 pendientes, para proporcionar feedback personalizado a mis estudiantes.
Criterios de Aceptación:
DADO que hay 5 ejercicios pendientes de calificación
CUANDO accedo a "Revisiones Pendientes" en mi portal
ENTONCES veo lista priorizada por fecha de envío
Y puedo ver contenido multimedia adjunto
Y puedo asignar puntuación (0-100)
Y puedo agregar comentarios de feedback
Tareas Técnicas:
- FE-TEACHER-001: Crear TeacherManualReviewsPage
- FE-TEACHER-002: Componente RubricEvaluator mejorado
- FE-TEACHER-003: Integrar MediaViewer para multimedia
- BE-TEACHER-001: Endpoint GET /teacher/manual-reviews
- BE-TEACHER-002: Endpoint POST /teacher/manual-reviews/:id/grade
Story Points: 13
2. PORTAL TEACHER - PÁGINAS PENDIENTES
Estado Actual: 14/17 páginas implementadas (82%)
| Página | Estado | Prioridad | SP |
|---|---|---|---|
| TeacherDashboardPage | ✅ Implementada | - | - |
| TeacherClassroomsPage | ✅ Implementada | - | - |
| TeacherStudentsPage | ✅ Implementada | - | - |
| TeacherAssignmentsPage | ✅ Implementada | - | - |
| TeacherGamificationPage | ✅ Implementada | - | - |
| TeacherAnalyticsPage | ✅ Implementada | - | - |
| TeacherCommunicationPage | ✅ Implementada | - | - |
| TeacherContentPage | ✅ Implementada | - | - |
| TeacherProgressPage | ✅ Implementada | - | - |
| TeacherReportsPage | ✅ Implementada | - | - |
| TeacherMonitoringPage | ✅ Implementada | - | - |
| TeacherAlertsPage | ✅ Implementada | - | - |
| TeacherResponsesPage | ✅ Implementada | - | - |
| TeacherResourcesPage | ✅ Implementada | - | - |
| TeacherManualReviewsPage | ❌ Pendiente | P0 | 8 |
| TeacherNotificationsPage | ⚠️ Placeholder | P1 | 5 |
| TeacherSchedulePage | ⚠️ Placeholder | P2 | 8 |
Historias de Usuario Pendientes
US-TEACHER-001: Página de Revisiones Manuales
Como docente, quiero una página dedicada para revisar ejercicios M4-M5, para gestionar eficientemente la carga de evaluaciones.
Story Points: 8
US-TEACHER-002: Sistema de Notificaciones en Tiempo Real
Como docente, quiero recibir notificaciones cuando mis estudiantes envían ejercicios, para poder revisar y dar feedback oportunamente.
Criterios de Aceptación:
DADO que un estudiante envía un ejercicio de mi aula
CUANDO el ejercicio requiere revisión manual
ENTONCES recibo notificación push/in-app
Y la notificación incluye nombre del estudiante y tipo de ejercicio
Y puedo ir directamente a la revisión desde la notificación
Story Points: 5
3. PORTAL ADMIN - PÁGINAS PENDIENTES
Estado Actual: 12/15 páginas implementadas (80%)
| Página | Estado | Prioridad | SP |
|---|---|---|---|
| AdminDashboardPage | ✅ Implementada | - | - |
| AdminUsersPage | ✅ Implementada | - | - |
| AdminInstitutionsPage | ✅ Implementada | - | - |
| AdminRolesPage | ✅ Implementada | - | - |
| AdminContentPage | ✅ Implementada | - | - |
| AdminMonitoringPage | ✅ Implementada | - | - |
| AdminAlertsPage | ✅ Implementada | - | - |
| AdminAnalyticsPage | ✅ Implementada | - | - |
| AdminProgressPage | ✅ Implementada | - | - |
| AdminGamificationPage | ✅ Implementada | - | - |
| AdminAssignmentsPage | ✅ Implementada | - | - |
| AdminClassroomTeacherPage | ✅ Implementada | - | - |
| AdminAdvancedPage | ⚠️ Placeholder | P1 | 13 |
| AdminSettingsPage | ⚠️ Placeholder | P1 | 8 |
| AdminReportsPage | ⚠️ Placeholder | P1 | 13 |
Historias de Usuario Pendientes
US-ADMIN-001: Página de Configuración Avanzada
Como administrador, quiero configurar parámetros avanzados del sistema, para personalizar la experiencia según las necesidades institucionales.
Criterios de Aceptación:
DADO que accedo a AdminAdvancedPage
CUANDO navego por las secciones disponibles
ENTONCES puedo configurar:
- Parámetros de gamificación (XP, ML Coins, rangos)
- Límites de uso (max intentos, timeouts)
- Feature flags (habilitar/deshabilitar funcionalidades)
- Configuración de almacenamiento (límites multimedia)
Story Points: 13
US-ADMIN-002: Página de Reportes Avanzados
Como administrador, quiero generar reportes personalizados y exportables, para analizar el rendimiento institucional y tomar decisiones.
Criterios de Aceptación:
DADO que accedo a AdminReportsPage
CUANDO selecciono tipo de reporte y rango de fechas
ENTONCES puedo generar reportes de:
- Uso por institución/aula/estudiante
- Progreso académico agregado
- Métricas de gamificación
- Análisis de ejercicios más difíciles
Y puedo exportar en CSV, PDF o Excel
Story Points: 13
4. INTEGRACIONES DE GAMIFICACIÓN PENDIENTES
ÉPICA: EAI-003-EXT - Gamificación Extendida
Estado por Sistema
| Sistema | Diseñado | Implementado | Gap |
|---|---|---|---|
| Rangos Maya (5 niveles) | ✅ | ✅ | 0% |
| XP + Multiplicadores | ✅ | ✅ | 0% |
| ML Coins - Transacciones | ✅ | ✅ | 0% |
| ML Coins - Bonus Rango | ✅ | ✅ | 0% |
| ML Coins - Multiplicador | ✅ | ❌ | 100% |
| Comodines/Power-ups | ✅ | ✅ | 0% |
| Misiones (diarias/semanales) | ✅ | ✅ | 0% |
| Misiones de Aula | ✅ | ✅ | 0% |
| Achievements | ✅ | ✅ | 0% |
| Leaderboard Global | ✅ | ✅ | 0% |
| Leaderboard Escuela | ✅ | ✅ | 0% |
| Leaderboard Aula | ✅ | ✅ | 0% |
| Sistema de Amigos | ✅ | ❌ | 100% |
| Leaderboard Amigos | ✅ | ❌ | 100% |
| Gremios/Grupos | ✅ | ❌ | 100% |
Historias de Usuario Pendientes
US-GAM-001: Multiplicador ML Coins por Rango
Como estudiante de rango avanzado, quiero ganar más ML Coins por cada ejercicio completado, para ser recompensado por mi progresión en el sistema.
Criterios de Aceptación:
DADO que soy estudiante con rango "K'uk'ulkan"
CUANDO completo un ejercicio que otorga 20 ML Coins base
ENTONCES recibo 40 ML Coins (multiplicador 2.0x)
Y el multiplicador se muestra en mi perfil
Tabla de Multiplicadores:
| Rango | Multiplicador |
|---|---|
| Ajaw | 1.00x |
| Nacom | 1.25x |
| Ah K'in | 1.50x |
| Halach Uinic | 1.75x |
| K'uk'ulkan | 2.00x |
Tareas Técnicas:
- DB-GAM-001: Agregar columna ml_coins_multiplier a maya_ranks
- DB-GAM-002: Actualizar función award_ml_coins() para aplicar multiplicador
- BE-GAM-001: Actualizar MLCoinsService
- FE-GAM-001: Mostrar multiplicador en perfil
- TEST-GAM-001: Tests de multiplicadores
Story Points: 5
US-GAM-002: Sistema de Amigos
Como estudiante, quiero agregar amigos y ver su progreso, para competir y motivarme con mis compañeros.
Criterios de Aceptación:
DADO que busco un compañero por nombre/email
CUANDO envío solicitud de amistad
ENTONCES el compañero recibe notificación
Y puede aceptar o rechazar
Y aparece en mi lista de amigos si acepta
DADO que tengo 5 amigos
CUANDO accedo al leaderboard de amigos
ENTONCES veo ranking comparativo con mis amigos
Y puedo filtrar por semana/mes/total
Tareas Técnicas:
- DB-GAM-003: Crear tabla friendships
- DB-GAM-004: Crear tabla friend_requests
- DB-GAM-005: Crear RLS policies para privacidad
- BE-GAM-002: Crear FriendsService
- BE-GAM-003: Crear FriendsController (CRUD + solicitudes)
- FE-GAM-002: Crear FriendsPage (buscar, solicitudes, lista)
- FE-GAM-003: Crear FriendsLeaderboard component
- TEST-GAM-002: Tests de integración amigos
Story Points: 13
US-GAM-003: Sistema de Gremios
Como estudiante, quiero unirme o crear un gremio con mis compañeros, para colaborar y competir como equipo.
Criterios de Aceptación:
DADO que quiero crear un gremio
CUANDO completo el formulario (nombre, descripción, emblema)
ENTONCES el gremio se crea y soy el líder
Y puedo invitar hasta 20 miembros
DADO que soy miembro de un gremio
CUANDO el gremio completa misiones grupales
ENTONCES todos los miembros reciben bonus XP/ML
Tareas Técnicas:
- DB-GAM-006: Crear tabla guilds
- DB-GAM-007: Crear tabla guild_members
- DB-GAM-008: Crear tabla guild_missions
- BE-GAM-004: Crear GuildsService
- BE-GAM-005: Crear GuildsController
- FE-GAM-004: Crear GuildsPage
- FE-GAM-005: Crear GuildLeaderboard
- TEST-GAM-003: Tests de integración gremios
Story Points: 21
5. FRONTEND - COMPONENTES VACÍOS IDENTIFICADOS
Componentes sin Implementación (20 archivos)
| Componente | Ubicación | Prioridad | SP |
|---|---|---|---|
| Friends (7 componentes) | |||
| ActivityFeed.tsx | social/Friends/ | P1 | 3 |
| AddFriend.tsx | social/Friends/ | P1 | 2 |
| FriendCard.tsx | social/Friends/ | P1 | 2 |
| FriendRecommendations.tsx | social/Friends/ | P2 | 3 |
| FriendRequests.tsx | social/Friends/ | P1 | 3 |
| FriendSearch.tsx | social/Friends/ | P1 | 2 |
| FriendsList.tsx | social/Friends/ | P1 | 2 |
| Guilds (9 componentes) | |||
| GuildCard.tsx | social/Guilds/ | P2 | 2 |
| GuildChallenges.tsx | social/Guilds/ | P2 | 5 |
| GuildCreation.tsx | social/Guilds/ | P2 | 5 |
| GuildDashboard.tsx | social/Guilds/ | P2 | 8 |
| GuildLeaderboard.tsx | social/Guilds/ | P2 | 3 |
| GuildManagement.tsx | social/Guilds/ | P2 | 5 |
| GuildMembersList.tsx | social/Guilds/ | P2 | 2 |
| GuildSettings.tsx | social/Guilds/ | P2 | 3 |
| GuildsList.tsx | social/Guilds/ | P2 | 2 |
| Leaderboards (4 componentes) | |||
| FriendsLeaderboard.tsx | social/Leaderboards/ | P1 | 3 |
| GlobalLeaderboard.tsx | social/Leaderboards/ | P1 | 3 |
| GradeLeaderboard.tsx | social/Leaderboards/ | P2 | 3 |
| SchoolLeaderboard.tsx | social/Leaderboards/ | P2 | 3 |
6. TESTING - GAPS IDENTIFICADOS
Estado Actual
| Capa | Cobertura Actual | Objetivo | Gap |
|---|---|---|---|
| Backend Unit Tests | 15% | 70% | -55% |
| Backend Integration | 5% | 50% | -45% |
| Frontend Unit Tests | 10% | 60% | -50% |
| E2E Tests | 0% | 40% | -40% |
Historias de Usuario Pendientes
US-TEST-001: Test Coverage Backend
Como desarrollador, quiero incrementar la cobertura de tests al 70%, para garantizar la estabilidad del sistema.
Módulos Críticos sin Tests:
- gamification/services/ml-coins.service.ts
- gamification/services/comodines.service.ts
- gamification/services/missions.service.ts
- gamification/services/shop.service.ts
- teacher/services/grading.service.ts
- admin/services/bulk-operations.service.ts
Story Points: 21
US-TEST-002: E2E Tests Portales
Como QA, quiero tests end-to-end para los 3 portales, para validar flujos completos de usuario.
Flujos Críticos a Cubrir:
- Student: Login → Ejercicio → Gamificación → Leaderboard
- Teacher: Login → Dashboard → Aulas → Calificación → Reportes
- Admin: Login → Usuarios → Instituciones → Configuración
Story Points: 13
7. DOCUMENTACIÓN FALTANTE
Identificada
| Documento | Prioridad | Estado |
|---|---|---|
| Matriz RLS detallada (45 políticas) | P1 | ❌ Falta |
| Runbooks de producción | P1 | ❌ Falta |
| Troubleshooting guides | P1 | ❌ Falta |
| Scaling procedures | P2 | ❌ Falta |
| API Reference (Swagger) | P1 | ⚠️ Parcial |
| EAI-007 - Épica M4-M5 | P0 | ❌ Falta |
8. RESUMEN DE ÉPICAS PENDIENTES
Por Prioridad
| ID | Épica | Prioridad | SP | Estado |
|---|---|---|---|---|
| EAI-007 | Módulos M4-M5 (Completar) | P0 | 35 | 70% |
| EAI-003-EXT | Gamificación Extendida | P1 | 39 | 0% |
| TEACHER-EXT | Portal Teacher Extensiones | P1 | 21 | 82% |
| ADMIN-EXT | Portal Admin Extensiones | P1 | 34 | 80% |
| TEST-ALL | Testing Coverage | P1 | 34 | 15% |
| DOC-ALL | Documentación Faltante | P2 | 13 | 50% |
Total Story Points Pendientes: 176 SP
9. DEPENDENCY GRAPH
┌──────────────────────────────────────────────────────────────┐
│ DEPENDENCIAS CRÍTICAS │
└──────────────────────────────────────────────────────────────┘
[EAI-007 M4-M5] ──┬──> [US-M4-001 Backend DTOs] ──> [US-M4-002 Gamificación]
│
├──> [US-M5-001 Backend DTOs] ──> [US-M5-002 Revisión Manual]
│ │
└──> [US-TEACHER-001 Reviews Page] <────┘
[EAI-003-EXT Gamificación]
│
├──> [US-GAM-001 ML Coins Multiplier] (independiente)
│
├──> [US-GAM-002 Amigos] ──> [FriendsLeaderboard]
│ │
└──> [US-GAM-003 Gremios] ────────┴──> [GuildLeaderboard]
[TEST-ALL]
│
├──> [US-TEST-001 Backend Coverage] (paralelo)
│
└──> [US-TEST-002 E2E Tests] (después de M4-M5)
10. PLAN DE IMPLEMENTACIÓN RECOMENDADO
Sprint Actual (Semana 1-2)
- EAI-007 - Completar M4-M5 (35 SP)
- Crear DTOs backend M4-M5
- Crear seeds para testing
- Integrar con gamificación
- Crear TeacherManualReviewsPage
Sprint Siguiente (Semana 3-4)
-
GAMIFICACIÓN - Multiplicador ML Coins (5 SP)
- Implementar multiplicador por rango
- Actualizar funciones SQL
- Tests
-
TESTING - Incrementar Coverage (13 SP)
- Tests unitarios servicios críticos
- E2E tests flujos principales
Sprints Futuros
-
Sistema de Amigos (13 SP)
- Backend + Frontend
- Leaderboard amigos
-
Sistema de Gremios (21 SP)
- Backend + Frontend
- Misiones grupales
-
Admin/Teacher Extensions (55 SP)
- Páginas placeholder
- Configuración avanzada
- Reportes
11. DELEGACIONES A AGENTES
Database-Agent
## Delegación a Database-Agent
**Contexto:** EAI-007 - Completar M4-M5
**Tareas pendientes:**
- DB-M4-001: Crear seeds 5 ejercicios M4
- DB-M5-001: Crear seeds 3 opciones M5
- DB-GAM-001: Agregar ml_coins_multiplier a maya_ranks
- DB-GAM-003: Crear tabla friendships
- DB-GAM-004: Crear tabla friend_requests
**Referencia:** orchestration/agentes/requirements-analyst/ANALISIS-ALCANCES-RESTANTES-2025-12-05.md
Backend-Agent
## Delegación a Backend-Agent
**Contexto:** EAI-007 + EAI-003-EXT
**Prerequisitos:** Seeds de Database completados
**Tareas pendientes:**
- BE-M4-001 a BE-M4-005: Backend M4 completo
- BE-M5-001 a BE-M5-003: Backend M5 completo
- BE-GAM-001: Actualizar MLCoinsService con multiplicador
- BE-GAM-002/003: Crear FriendsService + Controller
- BE-TEACHER-001/002: Endpoints manual reviews
**Referencia:** orchestration/agentes/requirements-analyst/ANALISIS-ALCANCES-RESTANTES-2025-12-05.md
Frontend-Agent
## Delegación a Frontend-Agent
**Contexto:** Portales Teacher/Admin + Social
**Prerequisitos:** API de Backend disponible
**Tareas pendientes:**
- FE-M4-001: Integrar feedback gamificación M4
- FE-TEACHER-001 a 003: TeacherManualReviewsPage
- FE-GAM-001 a 005: Sistema de Amigos completo
- Implementar 20 componentes vacíos en social/
**Referencia:** orchestration/agentes/requirements-analyst/ANALISIS-ALCANCES-RESTANTES-2025-12-05.md
NOTAS FINALES
Este análisis identifica 176 Story Points de trabajo pendiente distribuidos en:
- 35 SP - Módulos M4-M5 (crítico para MVP)
- 39 SP - Gamificación extendida (amigos, gremios, multiplicador)
- 55 SP - Extensiones Admin/Teacher
- 47 SP - Testing y documentación
Prioridad Inmediata: Completar M4-M5 para cerrar Fase 2 antes de avanzar a sistemas sociales.
Generado por: Requirements-Analyst Fecha: 2025-12-05 Próxima Revisión: Después de completar EAI-007