- 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>
6.9 KiB
6.9 KiB
Esquema de 44 Tablas - GAMILIT Platform
Épica: EMR-001 - Migración y Robustecimiento de BD
Fecha: 2025-11-02
Origen: /docs/03-desarrollo/base-de-datos/ESQUEMA-COMPLETO.md
Resumen Ejecutivo
- Total de Schemas: 9
- Total de Tablas: 44
- Total de ENUMs: 24
- Total de Funciones: 26
- Total de Triggers: 30
- Total de Índices: 150+
1. Distribución de Tablas por Schema
1.1 Schema: auth_management (9 tablas)
tenants- Multi-tenant organizationsprofiles- Perfiles de usuariouser_roles- Asignación de rolesmemberships- Usuario-tenant membershipsuser_sessions- Sesiones activasauth_attempts- Intentos de autenticaciónpassword_reset_tokens- Tokens de recuperaciónemail_verification_tokens- Tokens de verificaciónsecurity_events- Eventos de seguridad
1.2 Schema: gamification_system (9 tablas)
user_stats- Estadísticas de gamificaciónuser_ranks- Progresión de rangos Mayaachievements- Definiciones de logrosuser_achievements- Logros desbloqueadosml_coins_transactions- Ledger de ML Coinsmissions- Misiones/questscomodines_inventory- Inventario de power-upsnotifications- Notificacionesleaderboard_metadata- Metadatos de rankings
1.3 Schema: educational_content (4 tablas)
modules- 5 módulos de Marie Curieexercises- 27 tipos de ejerciciosassessment_rubrics- Rúbricas de evaluaciónmedia_resources- Recursos multimedia
1.4 Schema: progress_tracking (4 tablas)
module_progress- Progreso por móduloexercise_attempts- Intentos de ejerciciosexercise_submissions- Entregaslearning_sessions- Sesiones de aprendizaje
1.5 Schema: social_features (7 tablas)
schools- Instituciones educativasclassrooms- Aulas virtualesclassroom_members- Inscripcionesteams- Equipos colaborativosteam_members- Miembros de equiposteam_challenges- Desafíos de equiposfriendships- Relaciones de amistad
1.6 Schema: content_management (4 tablas)
marie_curie_content- Contenido curadomedia_files- Archivos multimediacontent_templates- Plantillasflagged_content- Contenido para moderación
1.7 Schema: system_configuration (2 tablas)
system_settings- Configuración globalfeature_flags- Feature toggles
1.8 Schema: audit_logging (6 tablas)
audit_logs- Trail de auditoríasystem_logs- Logs del sistemaperformance_metrics- Métricas de performanceuser_activity_logs- Actividad de usuariossystem_alerts- Alertas del sistemauser_activity- Log de actividad
1.9 Schema: gamilit (0 tablas)
- Solo funciones utilitarias (
now_mexico(),update_updated_at())
1.10 Schema: auth (1 tabla)
users- Tabla de Supabase Auth (referenciada)
2. Tablas Críticas por Funcionalidad
Autenticación y Usuarios
auth.users(Supabase)auth_management.profilesauth_management.user_sessions
Gamificación Core
gamification_system.user_statsgamification_system.user_ranksgamification_system.ml_coins_transactions
Contenido Educativo
educational_content.moduleseducational_content.exercises
Progreso del Estudiante
progress_tracking.module_progressprogress_tracking.exercise_attempts
Social y Colaboración
social_features.classroomssocial_features.classroom_memberssocial_features.teams
3. Relaciones Clave (Foreign Keys)
Relación Central: profiles
auth.users (1:1) → auth_management.profiles
↓ (1:1)
gamification_system.user_stats
↓ (1:N)
progress_tracking.module_progress
Relación Educativa: modules → exercises
educational_content.modules (1:N) → educational_content.exercises
↓ (1:N)
progress_tracking.exercise_attempts
Relación Social: classrooms
social_features.schools (1:N) → social_features.classrooms
↓ (N:M)
social_features.classroom_members
↓
auth_management.profiles (students)
4. Tablas con JSONB (Flexibilidad)
Configuraciones
auth_management.tenants.settingsauth_management.profiles.preferencesauth_management.user_roles.permissions
Contenido Educativo
educational_content.modules.contenteducational_content.exercises.contenteducational_content.exercises.config
Gamificación
gamification_system.achievements.conditionsgamification_system.achievements.rewardsgamification_system.missions.objectives
Auditoría
audit_logging.audit_logs.old_valuesaudit_logging.audit_logs.new_values
5. ENUMs Principales (24 tipos)
Autenticación y Roles
gamilit_role: student, admin_teacher, super_adminuser_status: active, inactive, suspended, deleted
Gamificación
rango_maya: nacom, batab, holcatte, guerrero, mercenarioachievement_category: progress, streak, completion, social, special, mastery, explorationcomodin_type: pistas, vision_lectora, segunda_oportunidad
Contenido
exercise_type: 27 tipos (multiple_choice, matching, crossword, etc.)difficulty_level: beginner, intermediate, advancedcontent_status: draft, published, archived, under_review
Sistema
module_status: not_started, in_progress, completed, lockedprocessing_status: uploading, processing, ready, error, optimizing
6. Zona Horaria
Todas las tablas usan TIMESTAMPTZ con zona horaria de México:
created_at TIMESTAMPTZ DEFAULT gamilit.now_mexico()
Función: gamilit.now_mexico() retorna NOW() AT TIME ZONE 'America/Mexico_City'
7. Patrones de Diseño
Soft Delete Pattern
- Campos
is_activeydeleted_at
Audit Trail Pattern
- Tabla
audit_logsconold_valuesynew_valuesen JSONB
Multi-tenancy Pattern
- Campo
tenant_iden todas las tablas principales
Event Sourcing (Partial)
ml_coins_transactionsconbalance_before/balance_after
8. Convenciones de Nombrado
- Schemas:
snake_case - Tablas:
snake_caseen plural - Columnas:
snake_case - ENUMs:
snake_case - Funciones:
snake_case()
9. Grados Escolares y Materias
Grados: 6, 7 y 8 (primaria superior/secundaria)
Materias: Literatura y Ciencias
Contenido Temático: 5 módulos sobre Marie Curie
10. Referencias
- Esquema Completo:
/docs/03-desarrollo/base-de-datos/ESQUEMA-COMPLETO.md - Migraciones:
tareas/01-migraciones/MIGRACIONES-HISTORICO.md - Índices:
tareas/03-documentacion/INDICES-OPTIMIZACION.md - DDL Scripts:
/docs/03-desarrollo/base-de-datos/backup-ddl/
Última actualización: 2025-11-02 Consolidado por: ARTEMIS (Agente de Migración)