Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Bryacg/Adutem/llms.txt

Use this file to discover all available pages before exploring further.

Los modelos persona y usuario son el núcleo del sistema ADUTEM. La persona almacena todos los datos personales y médicos del socio, mientras que usuario gestiona las credenciales de acceso. Un usuario siempre está vinculado a exactamente una persona mediante persona_id.

Modelo Persona

El modelo persona representa a cada socio de ADUTEM con sus datos personales, familiares y médicos.
CampoTipo PostgreSQLRestriccionesDescripción
idSERIALPK, autoincrementIdentificador único
nombreVARCHAR(100)NOT NULLPrimer nombre
apellidoVARCHAR(100)NOT NULLApellido
cedulaVARCHAR(20)NOT NULL, UNIQUENúmero de cédula de identidad
fecha_nacimientoDATENOT NULLFecha de nacimiento
direccionVARCHAR(255)NOT NULLDirección de residencia
telefonoVARCHAR(20)NOT NULLTeléfono de contacto
nombres_padresVARCHAR(255)NOT NULLNombres del padre/tutor
nombres_madreVARCHAR(255)NOT NULLNombres de la madre/tutora
alergiasTEXTNULLAlergias conocidas
tipo_sangretipo_sangre_enumNOT NULLTipo de sangre
correoVARCHAR(100)NOT NULL, UNIQUECorreo electrónico
creacion_personaTIMESTAMPDEFAULT NOW()Fecha de registro

Enum tipo_sangre_enum

Valor en sistemaEtiqueta
A_posA+
A_negA-
B_posB+
B_negB-
AB_posAB+
AB_negAB-
O_posO+
O_negO-

Relaciones de Persona

  • usuario[] — Una persona puede tener una o más cuentas de usuario
  • inscripciones[] — Una persona puede estar inscrita en múltiples cursos

Modelo Usuario

El modelo usuario almacena las credenciales de acceso al sistema ADUTEM.
CampoTipo PostgreSQLRestriccionesDescripción
idSERIALPK, autoincrementIdentificador único
correoVARCHAR(100)NOT NULL, UNIQUECorreo para login
contraseñaVARCHAR(100)NOT NULLContraseña de acceso
persona_idINTFK → persona.idPersona asociada
creacion_usuarioTIMESTAMPDEFAULT NOW()Fecha de creación

Relaciones de Usuario

  • persona — Relación muchos a uno con persona
  • convenios[] — Convenios vinculados al usuario
  • reservas[] — Reservas de áreas recreativas del usuario
El campo correo en usuario es independiente del correo en persona, aunque generalmente coinciden. Ambos deben ser únicos en sus respectivas tablas.
model persona {
  id               Int              @id @default(autoincrement())
  nombre           String           @db.VarChar(100)
  apellido         String           @db.VarChar(100)
  cedula           String           @unique @db.VarChar(20)
  fecha_nacimiento DateTime
  direccion        String           @db.VarChar(255)
  telefono         String           @db.VarChar(20)
  nombres_padres   String           @db.VarChar(255)
  nombres_madre    String           @db.VarChar(255)
  alergias         String?
  tipo_sangre      tipo_sangre_enum
  correo           String           @unique @db.VarChar(100)
  creacion_persona DateTime         @default(now())
  usuario          usuario[]
  inscripciones    inscripciones[]
}

model usuario {
  id               Int      @id @default(autoincrement())
  correo           String   @unique @db.VarChar(100)
  contraseña       String   @db.VarChar(100)
  persona_id       Int
  creacion_usuario DateTime @default(now())
  persona          persona  @relation(fields: [persona_id], references: [id])
  convenios        convenios[]
  reservas         reservas[]
}

Build docs developers (and LLMs) love