workspace/projects/gamilit/docs/database/VIEWS-INVENTARIO.md
rckrdmrd 05cd7aa966 docs: Correcciones P2 completas - Social API, componentes, views, inventarios
Fase 5 completada (21/21 correcciones ejecutadas):

P2-001: Documentar Social API (10 controllers, 106 endpoints)
P2-002: Documentar componentes Frontend (497 componentes, 103 hooks)
P2-003: Actualizar FRONTEND_INVENTORY.yml a v4.0
P2-004: Documentar views Database (17 views en 7 schemas)
P2-005: Documentar rutas duplicadas Auth (requiere refactor)
P2-006: Documentar código muerto Teacher (requiere refactor)

Archivos creados:
- docs/90-transversal/api/API-SOCIAL-MODULE.md
- docs/frontend/COMPONENTES-INVENTARIO.md
- docs/database/VIEWS-INVENTARIO.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 15:57:07 -06:00

6.5 KiB

VISTAS (VIEWS) DATABASE - INVENTARIO

Proyecto: GAMILIT - Plataforma Educativa Gamificada Version: 1.0 Fecha: 2025-12-26 Total Views: 17


RESUMEN POR SCHEMA

Schema Views Proposito
admin_dashboard 7 Dashboard administrativo
auth 1 Alias de tenants
educational_content 1 Analisis de validacion
gamification_system 4 Leaderboards
gamilit 1 Utilidades
progress_tracking 2 Seguimiento de progreso
social_features 1 Progreso de aula
TOTAL 17 -

1. SCHEMA: admin_dashboard (7 views)

01-recent_activity.sql

Proposito: Actividad reciente del sistema para dashboard admin

Columna Descripcion
activity_id ID de actividad
user_id Usuario que realizo la accion
activity_type Tipo de actividad
description Descripcion de la accion
created_at Timestamp

assignment_submission_stats.sql

Proposito: Estadisticas de envios de asignaciones

Columna Descripcion
assignment_id ID de asignacion
total_submissions Total de envios
pending_reviews Pendientes de revision
average_score Puntuacion promedio
completion_rate Tasa de completado

classroom_overview.sql

Proposito: Vista general de aulas para admin

Columna Descripcion
classroom_id ID del aula
classroom_name Nombre
teacher_name Profesor asignado
student_count Cantidad de estudiantes
avg_progress Progreso promedio

moderation_queue.sql

Proposito: Cola de contenido pendiente de moderacion

Columna Descripcion
item_id ID del item
content_type Tipo de contenido
reporter_id Quien reporto
reason Razon del reporte
status Estado de moderacion

organization_stats_summary.sql

Proposito: Resumen de estadisticas por organizacion

Columna Descripcion
org_id ID de organizacion
total_users Total usuarios
active_users Usuarios activos
total_classrooms Total aulas
total_exercises_completed Ejercicios completados

recent_admin_actions.sql

Proposito: Acciones recientes de administradores

Columna Descripcion
action_id ID de accion
admin_id Admin que ejecuto
action_type Tipo de accion
target_entity Entidad afectada
timestamp Cuando ocurrio

user_stats_summary.sql

Proposito: Resumen de estadisticas de usuarios

Columna Descripcion
total_users Total usuarios
active_today Activos hoy
new_this_week Nuevos esta semana
by_role Desglose por rol

2. SCHEMA: auth (1 view)

tenants_alias.sql

Proposito: Alias para acceso simplificado a tenants

Columna Descripcion
tenant_id ID del tenant
name Nombre
alias Alias corto
status Estado del tenant

3. SCHEMA: educational_content (1 view)

01-v_validation_analysis.sql

Proposito: Analisis de validacion de contenido educativo

Columna Descripcion
exercise_id ID de ejercicio
validation_status Estado de validacion
errors_found Errores encontrados
warnings Advertencias
last_validated Ultima validacion

4. SCHEMA: gamification_system (4 views)

01-leaderboard_coins.sql

Proposito: Leaderboard por ML Coins

Columna Descripcion
rank Posicion
user_id ID usuario
username Nombre de usuario
total_coins ML Coins totales
avatar_url URL avatar

02-leaderboard_global.sql

Proposito: Leaderboard global combinado

Columna Descripcion
rank Posicion
user_id ID usuario
username Nombre
total_xp XP total
maya_rank Rango Maya
total_coins ML Coins

03-leaderboard_streaks.sql

Proposito: Leaderboard por rachas de actividad

Columna Descripcion
rank Posicion
user_id ID usuario
username Nombre
current_streak Racha actual (dias)
longest_streak Racha maxima

04-leaderboard_xp.sql

Proposito: Leaderboard por puntos de experiencia

Columna Descripcion
rank Posicion
user_id ID usuario
username Nombre
total_xp XP total
maya_rank Rango Maya actual

5. SCHEMA: gamilit (1 view)

number_series.sql

Proposito: Utilidad para generar series numericas

Columna Descripcion
n Numero en la serie

Uso: Funciones de utilidad y generacion de datos


6. SCHEMA: progress_tracking (2 views)

02-teacher_pending_reviews.sql

Proposito: Revisiones pendientes para docentes

Columna Descripcion
review_id ID de revision
student_id Estudiante
exercise_id Ejercicio
exercise_type Tipo (M4/M5 creativos)
submitted_at Fecha de envio
status Estado (pending)

user_progress_summary.sql

Proposito: Resumen de progreso del usuario

Columna Descripcion
user_id ID usuario
modules_completed Modulos completados
exercises_completed Ejercicios completados
total_xp XP ganado
current_streak Racha actual
last_activity Ultima actividad

7. SCHEMA: social_features (1 view)

01-classroom_progress_overview.sql

Proposito: Vista general de progreso del aula

Columna Descripcion
classroom_id ID del aula
student_id Estudiante
student_name Nombre
module_progress Progreso por modulo (JSON)
total_progress Progreso total %
maya_rank Rango actual

NOTAS TECNICAS

Permisos

Todas las views tienen permisos para gamilit_user:

GRANT SELECT ON schema.view_name TO gamilit_user;

Mantenimiento

  • Las views no requieren datos iniciales (seeds)
  • Se recrean en cada ./init-database.sh
  • Dependen de tablas base del schema

Performance

Views con indices recomendados:

  • leaderboard_* - Indexar por user_id, total_xp
  • classroom_progress_overview - Indexar por classroom_id
  • teacher_pending_reviews - Indexar por status, submitted_at

Generado por: Requirements-Analyst Fecha: 2025-12-26 Version: 1.0