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

304 lines
6.5 KiB
Markdown

# 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`:
```sql
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