- 1

Instalación y configuración inicial de NestJS para APIs
06:28 - 2

Instalación del CLI de NestJS y primer proyecto con API
11:29 - 3

Creación de endpoints dinámicos para consultar usuarios en NestJS
20:23 - 4

Operaciones CRUD en APIs REST con Postman
23:37 - 5

Método PUT para actualizar usuarios con ID automático
19:42 - 6

Códigos de estado HTTP y manejo de errores en APIs con NestJS
16:07 - 7

DTOs y validación automática de datos en APIs con NestJS
19:31 - 8

Patrón de servicios e inyección de dependencias en NestJS
25:09 - 9

Configuración de variables de entorno en NestJS
20:44 - 10

Creación y organización de módulos en NestJS para aplicaciones escalables
12:26 quiz de Fundamentos y Primer CRUD
Desplegar aplicación Node.js a producción con Railway y PostgreSQL
Clase 34 de 35 • Curso de Backend con NestJS
Contenido del curso
- 11

Configuración de PostgreSQL con Docker y Docker Compose
16:08 - 12

Configuración de PostgreSQL con TypeORM en aplicaciones NestJS
12:17 - 13

Creación de entidades ORM con decoradores en TypeScript
09:17 - 14

Implementación del Repository Pattern con TypeORM en NestJS
29:55 - 15

Relaciones uno a uno entre usuarios y perfiles en PostgreSQL
17:00 - 16

Actualización de DTOs con mapped types en NestJS para perfil y usuario
38:56 - 17

Generación automática de módulos CRUD con NestJS y AI
25:34 - 18

Relaciones uno a muchos con TypeORM en NestJS
17:56 - 19

Creación de entidad Category con relaciones many-to-many en NestJS
15:28 - 20

Relaciones many-to-many con TypeORM y validación de arrays
17:40 - 21

Reutilización de servicios entre módulos en NestJS
09:04 - 22

Configuración de migraciones de base de datos con TypeORM
23:01 - 23

Migraciones de base de datos sin pérdida de información
20:46 quiz de Base de Datos y Persistencia con TypeORM
- 24

Cómo proteger contraseñas con hashing usando Bcrypt en NestJS
10:15 - 25

Serialización de datos para excluir campos sensibles en APIs
04:13 - 26

Configuración de autenticación con Passport en NestJS
19:16 - 27

Implementación de endpoint de login con Node.js y NestJS
09:09 - 28

Implementación de JSON Web Token para autenticación en NestJS
16:15 - 29

Protección de endpoints con JWT guards en NestJS
11:34 - 30

Automatización de user ID en APIs con JWT
11:48 quiz de Autenticación y Autorización
- 31

Integración del SDK de OpenAI en Node.js para automatizar contenido
28:26 - 32

Documentación automática de APIs con Swagger en NestJS
15:59 - 33

Preparar una API Node.js para producción: seguridad y despliegue
10:46 - 34

Desplegar aplicación Node.js a producción con Railway y PostgreSQL
21:11 - 35

Desarrollo de API REST escalable con NestJS en producción
02:36
Llevar una aplicación Node.js a producción es una tarea clave para asegurarse de que todo funcione de manera estable, rápida y con la infraestructura adecuada. Aquí te mostramos cómo implementar tu backend con Railway y una base de datos PostgreSQL, manejando correctamente las variables de entorno y pruebas en ambiente productivo.
¿Qué infraestructura necesito para lanzar una app Node.js a producción?
Para lanzar una aplicación de este tipo, se requiere un servidor con Node.js como runtime y también una base de datos en la nube. Railway se presenta como una opción práctica que ofrece una capa gratuita para pruebas y simplifica el despliegue, permitiendo además la integración automática con repositorios (por ejemplo, con GitHub).
- El servidor debe tener Node.js instalado.
- Se necesita también una base de datos, como PostgreSQL, alojada en la nube.
- Railway permite monitoreo y escalabilidad, como añadir réplicas fácilmente.
¿Cómo configuro Railway con mi base de datos y variables de entorno?
El flujo de despliegue comienza por crear la base de datos en Railway antes que el servicio. Esto garantiza la disponibilidad de la información para la aplicación. Al desplegar, Railway ofrece las URLs y variables de conexión necesarias, que deben configurarse en el entorno de producción.
- Primero se despliega la base de datos PostgreSQL y se obtiene la URL de conexión.
- Las variables necesarias suelen incluir: host, puerto, nombre de la base de datos, usuario y contraseña.
- Railway genera estos datos tanto en formato de URL única como fragmentados.
- Configura estas variables como variables de entorno en el servicio.
- No olvides agregar llaves como JWT Secret y API keys necesarias.
¿Cómo se hace el deployment desde el repositorio usando Railway?
Después de crear la base de datos, se vincula el repositorio donde está el backend. Railway detecta la tecnología (como Next.js) y facilita el deployment si todo está correctamente configurado.
- Se configuran variables de entorno en Railway para el backend.
- Es fundamental definir los comandos de build, start y pre-deploy (para migraciones).
- Ejemplo: npm run build para construir, npm start:prot para inicializar, y un comando para migraciones en pre-deploy.
- Railway identifica la versión de Node desde el package.json; se recomienda usar una versión superior a la veinte.
- Con los parámetros listos, solo queda lanzar el deployment y monitorizar logs para revisar posibles errores o el avance.
¿Cómo verificar que la aplicación y base de datos funcionan correctamente en producción?
Al finalizar el deployment, Railway proporciona una URL pública que puede usarse para testear el backend. Se recomienda usar herramientas como Postman para validar endpoints y operaciones como crear y consultar usuarios, categorías y posts.
- Cambia la URL en Postman del entorno local al de producción para probar las rutas.
- Los endpoints protegidos requieren un JWT token generado mediante el endpoint de login.
- Es posible crear usuarios, categorías y posts, así como probar funcionalidades avanzadas como publicación con integración AI.
- La consola de Railway muestra logs y métricas, incluyendo uso de CPU, memoria y almacenamiento.
- Es posible visualizar las tablas y datos mediante el visualizador web de Railway o usando la URL pública en clientes como pgAdmin o dBeaver.
¿Has probado implementar tu backend en Railway o deseas compartir alguna experiencia? Tu opinión puede ser valiosa para quienes desean dar el siguiente paso y lanzar sus aplicaciones a producción.