- 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
Configuración de variables de entorno en NestJS
Clase 9 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
Configurar de manera segura y eficiente las variables de entorno es esencial para cualquier aplicación moderna. Con un enfoque directo y claro, aquí aprenderás cómo manejar variables de entorno en NestJS, aprovechar su configuración global y evitar riesgos de seguridad en tus proyectos.
¿Cómo afectan los diferentes ambientes a la configuración de variables de entorno?
Cada ambiente tiene requisitos distintos. El entorno de producción usa llaves de acceso reales y completas. El entorno de desarrollo emplea accesos limitados y opciones como debug, lo que reduce riesgos y facilita pruebas controladas. Es importante nunca compartir variables sensibles en el código: cada ambiente requiere su propio archivo de configuración.
¿Qué pasos seguir para configurar variables de entorno en NestJS?
- Instala el paquete nestjs/config con el gestor de paquetes.
- Declara el uso de ConfigModule como global en tu módulo principal (app.module.ts) para que cualquier componente pueda acceder a las variables sin restricciones especiales.
- Utiliza archivos como
.envpara definir las variables, y.gitignorepara asegurarte de que no sean rastreadas en el repositorio por motivos de seguridad. - Incluye también un archivo
.env.exampleen el repositorio para que cada desarrollador sepa qué variables necesita definir en su entorno local. - Recuerda: los archivos
.envy.env.localnunca deben compartirse. Solo el archivo de ejemplo sirve de guía.
¿Cómo acceder y tipar correctamente las variables de entorno?
- Inyecta ConfigService en tus controladores o servicios usando la inyección de dependencias, igual que harías con cualquier servicio personalizado.
- Obtén las variables con el método
getdel servicio:
const valor = this.configService.get<string>('NOMBRE_VARIABLE');
- Usa el tipado adecuado, como
, para decirle a TypeScript el tipo esperado y evitar problemas en tiempo de ejecución. - Implementa un archivo modelo (por ejemplo,
env.model.ts) con una interfaz que describa los nombres y tipos de las variables. Así, si escribes mal el nombre de una variable, obtendrás una alerta de inmediato. - Activa la inferencia de tipos con la bandera
isGlobaleinfer: trueal configurar el módulo. Así toda la app hereda esa validación.
¿Cuáles son las mejores prácticas al manejar archivos .env y variables sensibles?
- Nunca incluyas archivos .env con valores reales en el repositorio.
- Sube solo el archivo
.env.examplecon los nombres de las variables, pero deja los valores en blanco. - Define las variables de entorno por privado y asigna los valores necesarios solo en desarrollo o producción.
- Si un valor es requerido y no está definido, el sistema regresa
undefined, así que valida siempre la existencia antes de usar la variable. - Si necesitas agregar otra variable, adáptala en el modelo de tu archivo
env.model.tsy en el archivo example.
¿Cómo aprovechar la inyección de dependencias y el patrón singleton?
- Puedes inyectar varios servicios en los controladores; cada servicio se comparte en una sola instancia (singleton), facilitando el acceso global y coherente a los datos.
- Usa endpoints RESTful claros: nómbralos según lo que representan y devuelve, evitando endpoints genéricos como
/mytestque no siguen las convenciones REST. - El acceso centralizado a variables de entorno permite usarlas en cualquier componente, controlador o servicio.
¿Tienes más dudas sobre cómo integrar variables de entorno en tus proyectos con NestJS? ¡Cuéntanos tu experiencia y comparte cualquier truco que te funcione!