Skip to main content

Modelo de Base de Datos MongoDB

Este documento describe el esquema de base de datos MongoDB utilizado en la aplicación Vibra, organizado por categorías de dominio con descripciones detalladas de cada colección, sus campos, tipos de datos y relaciones.

Documentación completa del schema migrada desde model-schema-db.md

Colecciones por Categoría​

Gestión de Usuarios​

Users​

CampoTipoDescripción
_idObjectIdClave primaria
nameStringNombre completo
emailStringCorreo electrónico
usernameStringNombre de usuario
passwordStringContraseña encriptada
roleObjectIdReferencia a Roles
companyObjectIdReferencia a Companies
isActiveBooleanEstado de la cuenta
deletedBooleanEliminación suave

Relaciones: Users → Roles (Muchos-a-Uno), Users → Companies (Muchos-a-Uno)

Roles​

CampoTipoDescripción
_idObjectIdClave primaria
serialStringIdentificador único
nameStringNombre del rol
isSuperAdminBooleanAcceso superadmin
isActiveBooleanEstado del rol

Relaciones: Roles → Users (Uno-a-Muchos)

Actividades y Aprendizaje​

Activities​

CampoTipoDescripción
_idObjectIdClave primaria
titleStringTítulo de la actividad
typeStringTipo (reto, evento_personal, actividad_pares)
emotionsStringEmociones asociadas
difficultyIntNivel de dificultad
isActiveBooleanEstado de la actividad
gamesArrayConfiguraciones de juegos

Emotions​

CampoTipoDescripción
_idObjectIdClave primaria
nameStringNombre de la emoción
descriptionStringDescripción detallada
iconoStringReferencia al icono

ActivityCompletion​

CampoTipoDescripción
_idObjectIdClave primaria
participantIdObjectIdReferencia al participante
activityIdObjectIdReferencia a la actividad
scoreIntPuntaje obtenido
dateDateTimeFecha de finalización

Notificaciones​

Notifications​

CampoTipoDescripción
_idObjectIdClave primaria
titleStringTítulo
messageStringContenido
isReadBooleanLeída
priorityIntPrioridad

Permisos y Control de Acceso​

Permissions​

CampoTipoDescripción
_idObjectIdClave primaria
serialStringIdentificador único
nameStringNombre del permiso
descriptionStringDescripción
permissionCategoryStringCategoría del permiso

Organizaciones​

Companies​

CampoTipoDescripción
_idObjectIdClave primaria
nameStringNombre de la empresa
nitStringNIT
isActiveBooleanEstado

Courses​

CampoTipoDescripción
_idObjectIdClave primaria
nameStringNombre del curso
hightSchoolStringReferencia a la institución

Diagrama de Relaciones​

graph TD
Users --> Roles
Users --> Companies
Activities --> Emotions
ActivityCompletion --> Participants
ActivityCompletion --> Activities
Courses --> HightSchools

Respaldo y Restauración​

# Generar copia
mongodump --db vibra_db --out /path/to/backup

# Restaurar
mongorestore --db vibra_db /path/to/backup/vibra_db