workspace/projects/gamilit/docs/database/TABLAS-NUEVAS-2025-12.md
rckrdmrd 00c09054e8 docs: Auditoria documentacion vs desarrollo - Correcciones P0 completas
Analisis exhaustivo comparando documentacion con codigo real.

## Documentacion actualizada:
- FEATURES-IMPLEMENTADAS.md: Metricas reales (76 controllers, 103 services, 497 componentes)
- docs/README.md: Estadisticas actualizadas
- API.md: Secciones Teacher Portal API y Social Features

## Documentacion nueva:
- API-TEACHER-MODULE.md: 50+ endpoints del modulo Teacher
- docs/frontend/student/README.md: 24 paginas documentadas
- TABLAS-NUEVAS-2025-12.md: 6 tablas nuevas (parent_*, user_purchases, teacher_interventions)

## Limpieza de codigo:
- Eliminados archivos huerfanos en student/pages/admin/ (no importados)

## Hallazgos:
- Patron Component/Page en Teacher es arquitectura intencional (no duplicados)
- admin/pages/ tiene versiones completas y activas

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 08:03:56 -06:00

8.8 KiB

TABLAS NUEVAS - DICIEMBRE 2025

Proyecto: GAMILIT - Plataforma Educativa Gamificada Fecha: 2025-12-23 Auditoria: Comparacion inventario vs DDL


RESUMEN

Schema Tablas Nuevas Epic
auth_management 4 EXT-010/EXT-011
gamification_system 1 Shop System
progress_tracking 1 Teacher Portal
TOTAL 6 -

Nota: El analisis inicial identifico 9 tablas, pero la verificacion DDL encontro 6 tablas con archivos DDL completos.


1. SCHEMA: auth_management

1.1 parent_accounts

Archivo DDL: ddl/schemas/auth_management/tables/14-parent_accounts.sql Epic: EXT-010 (Parent Notifications) Creado: 2025-11-08

Proposito: Cuentas de padres/tutores con configuraciones especificas del portal.

Columnas principales:

Columna Tipo Descripcion
id UUID PK
profile_id UUID FK a profiles (1:1)
relationship_type TEXT mother, father, guardian, tutor, other
notification_frequency TEXT realtime, daily, weekly, monthly, on_demand
alert_on_low_performance BOOLEAN Alerta si bajo rendimiento
alert_on_inactivity_days INTEGER Dias para alerta de inactividad
alert_on_achievement_unlocked BOOLEAN Alerta en logros
alert_on_rank_promotion BOOLEAN Alerta en promocion
preferred_report_format TEXT email, in_app, both
can_view_detailed_progress BOOLEAN Permiso ver progreso detallado
is_verified BOOLEAN Verificado por escuela
dashboard_widgets JSONB Widgets del dashboard

Indices:

  • idx_parent_accounts_profile
  • idx_parent_accounts_active
  • idx_parent_accounts_verified
  • idx_parent_accounts_notification_freq
  • idx_parent_accounts_widgets (GIN)

Trigger: trg_parent_accounts_updated_at


Archivo DDL: ddl/schemas/auth_management/tables/15-parent_student_links.sql Epic: EXT-010 (Parent Notifications) Creado: 2025-11-08

Proposito: Vinculacion N:M entre padres/tutores y estudiantes con permisos y verificacion.

Columnas principales:

Columna Tipo Descripcion
id UUID PK
parent_account_id UUID FK a parent_accounts
student_id UUID FK a profiles
relationship_type TEXT mother, father, guardian, etc.
can_view_progress BOOLEAN Permiso ver progreso
can_view_grades BOOLEAN Permiso ver calificaciones
can_receive_notifications BOOLEAN Recibir notificaciones
can_contact_teachers BOOLEAN Contactar maestros
link_status TEXT pending, active, suspended, revoked
is_verified BOOLEAN Verificado
verification_code TEXT Codigo para auto-link
student_approval_required BOOLEAN Requiere aprobacion estudiante

Constraint: unique_parent_student (parent_account_id, student_id)

Indices:

  • idx_parent_student_links_parent
  • idx_parent_student_links_student
  • idx_parent_student_links_status
  • idx_parent_student_links_active
  • idx_parent_student_links_verification_code

1.3 parent_notifications

Archivo DDL: ddl/schemas/auth_management/tables/16-parent_notifications.sql Epic: EXT-010 (Parent Notifications) Creado: 2025-11-08

Proposito: Notificaciones especificas para padres sobre progreso de hijos.

Columnas principales:

Columna Tipo Descripcion
id UUID PK
parent_account_id UUID FK a parent_accounts
student_id UUID FK a profiles
notification_type TEXT daily_summary, weekly_report, achievement_unlocked, etc.
title TEXT Titulo
message TEXT Mensaje
student_snapshot JSONB Snapshot del estado del estudiante
priority TEXT low, normal, high, urgent
sent_via_email BOOLEAN Enviado por email
sent_via_in_app BOOLEAN Enviado in-app
status TEXT pending, sent, read, archived
scheduled_for TIMESTAMPTZ Envio programado

Tipos de notificacion:

  • daily_summary
  • weekly_report
  • monthly_report
  • low_performance
  • inactivity_alert
  • achievement_unlocked
  • rank_promotion
  • assignment_due
  • assignment_submitted
  • recommendation
  • custom

Indices:

  • idx_parent_notifications_parent
  • idx_parent_notifications_student
  • idx_parent_notifications_type
  • idx_parent_notifications_status
  • idx_parent_notifications_unread
  • idx_parent_notifications_scheduled

2. SCHEMA: gamification_system

2.1 user_purchases

Archivo DDL: ddl/schemas/gamification_system/tables/19-user_purchases.sql Version: 1.0 (2025-11-29)

Proposito: Historial de compras de usuarios en la tienda virtual.

Columnas principales:

Columna Tipo Descripcion
id UUID PK
user_id UUID FK a profiles
item_id UUID FK a shop_items
tenant_id UUID FK a tenants
quantity INTEGER Cantidad (default 1)
price_paid INTEGER Precio en ML Coins
discount_applied INTEGER Descuento aplicado
transaction_id UUID FK a ml_coins_transactions
status TEXT pending, completed, refunded, expired
expires_at TIMESTAMPTZ Expiracion (items temporales)
consumed_at TIMESTAMPTZ Fecha de consumo
is_active BOOLEAN Item activo
purchased_at TIMESTAMPTZ Fecha de compra

Estados:

  • pending: Compra pendiente
  • completed: Compra completada
  • refunded: Reembolsada
  • expired: Item expirado

Indices:

  • idx_user_purchases_user
  • idx_user_purchases_item
  • idx_user_purchases_status
  • idx_user_purchases_active
  • idx_user_purchases_user_item
  • idx_user_purchases_date
  • idx_user_purchases_unique_item (UNIQUE para items unicos activos)

3. SCHEMA: progress_tracking

3.1 teacher_interventions

Archivo DDL: ddl/schemas/progress_tracking/tables/17-teacher_interventions.sql Priority: P2-04 (Teacher Portal) Creado: 2025-12-18

Proposito: Registra acciones/intervenciones del maestro en respuesta a alertas de estudiantes.

Columnas principales:

Columna Tipo Descripcion
id UUID PK
alert_id UUID FK a student_intervention_alerts (opcional)
student_id UUID FK a profiles
teacher_id UUID FK a profiles
classroom_id UUID FK a classrooms
intervention_type TEXT Tipo de intervencion
title TEXT Titulo
description TEXT Descripcion
action_taken TEXT Accion tomada
outcome TEXT Resultado
scheduled_date TIMESTAMPTZ Fecha programada
completed_date TIMESTAMPTZ Fecha completada
status TEXT planned, in_progress, completed, cancelled, rescheduled
priority TEXT low, medium, high, urgent
follow_up_required BOOLEAN Requiere seguimiento
parent_contacted BOOLEAN Padre contactado
effectiveness_rating INTEGER Rating 1-5
tenant_id UUID FK a tenants

Tipos de intervencion:

  • one_on_one_session
  • parent_contact
  • resource_assignment
  • peer_tutoring
  • accommodation
  • referral
  • behavior_plan
  • progress_check
  • encouragement
  • schedule_adjustment
  • other

RLS Policies:

  • teacher_manage_own_interventions
  • teacher_view_classroom_interventions
  • admin_view_tenant_interventions

Indices:

  • idx_teacher_interventions_alert
  • idx_teacher_interventions_student
  • idx_teacher_interventions_teacher
  • idx_teacher_interventions_classroom
  • idx_teacher_interventions_status
  • idx_teacher_interventions_type
  • idx_teacher_interventions_tenant
  • idx_teacher_interventions_scheduled
  • idx_teacher_interventions_follow_up

RELACIONES

auth_management.parent_accounts
    └──> auth_management.profiles (profile_id) 1:1
    └──< auth_management.parent_student_links (parent_account_id) 1:N
    └──< auth_management.parent_notifications (parent_account_id) 1:N

auth_management.parent_student_links
    └──> auth_management.profiles (student_id) N:1
    └──> auth_management.profiles (verified_by) N:1

gamification_system.user_purchases
    └──> auth_management.profiles (user_id) N:1
    └──> gamification_system.shop_items (item_id) N:1
    └──> gamification_system.ml_coins_transactions (transaction_id) N:1

progress_tracking.teacher_interventions
    └──> progress_tracking.student_intervention_alerts (alert_id) N:1
    └──> auth_management.profiles (student_id) N:1
    └──> auth_management.profiles (teacher_id) N:1
    └──> social_features.classrooms (classroom_id) N:1

NOTAS DE MIGRACION

  1. Las tablas de parent_* requieren Epic EXT-010/EXT-011 para funcionar completamente
  2. user_purchases depende de shop_items existente
  3. teacher_interventions se integra con sistema de alertas existente
  4. Todas las tablas tienen soporte multi-tenant

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