
Bienvenido al proyecto base para construir una API utilizando Express.js y Prisma ORM conectado a una base de datos PostgreSQL. Este proyecto está pensado para aprender desde cero cómo conectar un backend con una base de datos real, de forma modular y limpia.
Antes de empezar, asegúrate de tener lo siguiente instalado en tu computadora:
Herramientas necesarias:
Node.js – Para ejecutar el servidor backend con JavaScript Descarga: https://nodejs.org/
PostgreSQL – La base de datos que usaremos para almacenar la información Descarga: https://www.postgresql.org/
Postman – Aplicación para probar nuestras rutas HTTP y ver las respuestas del servidor Descarga: https://www.postman.com/downloads/
Express.js es un framework minimalista para construir servidores web y APIs usando Node.js. Lo utilizamos porque:
Este proyecto está organizado de forma modular para facilitar su comprensión y escalabilidad:
api-prisma-node/
├── controllers/ → Lógica del negocio (ej. obtener categorías)
├── routes/ → Define las rutas del servidor (por URL)
├── middlewares/ → Funciones intermedias (como logs o validaciones)
├── utils/ → Funciones auxiliares, como la conexión a Prisma
├── prisma/ → Contiene el archivo schema.prisma (esquema de base de datos)
├── documents/ → Script SQL para crear la base de datos manualmente
├── app.js → Configura y centraliza el servidor Express
├── main.js → Punto de entrada del servidor
├── .env → Variables de entorno (usuario/contraseña BD)
├── package.json → Dependencias del proyecto y scripts de inicio
Si el código ya está en tu computadora, puedes saltar este paso.
git clone https://github.com/tuusuario/api-prisma-node.git
cd api-prisma-node
Esto instalará librerías como Express, Prisma, Morgan, etc.
npm install
Abre PostgreSQL (puedes usar pgAdmin o DBeaver) y crea una base de datos llamada por ejemplo:
taller_db
.envAbre el archivo .env y coloca tus datos de conexión:
DATABASE_URL="postgresql://postgres:tu_contraseña@localhost:5432/taller_db?schema=public"
Reemplaza tu_contraseña con la que usas para entrar a PostgreSQL.
Este comando lee el esquema desde la base de datos real y lo actualiza localmente:
npx prisma db pull
Este paso genera el código necesario para que Prisma funcione en tu proyecto:
npx prisma generate
⚠️ Este paso es obligatorio para que puedas usar @prisma/client en tu código.
Ya puedes iniciar tu servidor con el siguiente comando:
npm run dev
Si todo está bien, verás algo como esto en consola:
http://localhost:5000/api/v1
Backend Starts 5000 ✅💪🟢
http://localhost:5000/api/v1/categorias
(Tranquilo, si todavía no devuelve nada, lo veremos durante el taller.)
Cada vez que cambies algo en la base de datos, recuerda ejecutar:
npx prisma db pullnpx prisma generateSi el proyecto no arranca:
.env tenga la contraseña correctaDurante el taller trabajaremos en: