Para desarrollar una aplicación que permita gestionar citas médicas eficientemente, primero es clave entender y manejar correctamente los modelos mínimos necesarios. Estos modelos facilitan que los usuarios registrados puedan elegir bloques de tiempo para agendar sus citas.
¿Qué modelos mínimos necesitas para gestionar citas médicas con Prisma?
Es muy importante contar con los modelos esenciales que permiten la funcionalidad básica de una API para manejar citas. En este caso particular, los modelos son:
Usuario: ya disponible en el modelo actual.
Appointments (Citas): requieren información clave como fecha, usuario asociado y bloque de tiempo.
Bloques de tiempo: permiten mostrar y gestionar los horarios disponibles para los usuarios.
Estos modelos son críticos para mantener una estructura organizada que soporte futuras ampliaciones posibles, como doctores o categorías específicas.
¿Cómo agregas y migras correctamente nuevos modelos en Prisma?
Para agregar estos nuevos modelos, sigue unos pasos específicos:
Coloca los modelos en el archivo schema.prisma.
Actualiza relaciones necesarias, como incorporar appointments al usuario.
Para migrar los modelos y generar los recursos necesarios, ejecuta los siguientes comandos en tu terminal:
npx prisma migrate dev --name new_models
npx prisma generate
Estas acciones actualizan tu base de datos y generan la información requerida para utilizar los nuevos modelos en la aplicación.
¿Cómo visualizar y administrar la base de datos con PgAdmin?
Una opción eficiente para manejar visualmente la base de datos PostgreSQL es PgAdmin, herramienta amigable para explorar datos:
Descarga e instala PgAdmin.
Crea una nueva conexión utilizando los detalles del archivo .env (localhost, puerto, usuario, contraseña).
Visualiza y administra información directamente desde una interfaz gráfica.
PgAdmin simplifica revisar y validar la información generada con los scripts de siembra (seed), revisar usuarios, citas (appointments) o realizar modificaciones manuales fácilmente.
Si tienes ideas, comentarios o actualizaciones sobre este procedimiento o sobre cómo manejar mejor la seguridad al sembrar información, ¡compártelos!
Carajo, estuve un par de minutos batallando porque yo no configuré mi proyecto para trabajar con postgreSQL, sino que prisma me está dando gratis una base de datos. Pude acceder desde su página web y desde la url que ellos me dieron (con una API KEY).
El problema venía en que no podía ejecutar mi proyecto porque prisma require usar sintaxis moderna de JS y yo estaba usando 'commonJS' en vez de 'modules'.
En fin, logré arreglarlo, si quieres ver el proyecto actualizado con sintaxis moderna:
ahhh eso era, yo dije de donde salio esa base de datos con una apikey claro prisma dice que ella te lo genero pero antes no te la daban recien ahora si, gracias!
Si falta la clase donde se escribe el código de authController.js, authService.js, y tambien cambian el package.json para ejecutar el servidor dentro de src y no el que se venia manejando.
Gracias por tu comentario Jhon, me ahorro tiempo para configurar lo faltante y continuar con la clase 😎👍
Hola dejo por aqui este recurso me parece interesante
npx prisma studio
con este comando prisma corre la base de datos de postgres localmente
Gran aporte. Justo ChatGPT me lo sugirió mientras debuggeaba un error de migración y venía a compartirlo, ya que veo que, en este caso, cumple una función similar a pgAdmin.
También se puede utilizar Prisma Studio.
Por si a alguien le sirve, este es el repo del curso: