Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

NestJS — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • nestjs

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a desarrolladores que ya dominan los fundamentos de NestJS y desean consolidar patrones de diseño propios de aplicaciones back-end de producción, este curso profundiza en la arquitectura modular de APIs REST, la persistencia de datos con TypeORM, la validación robusta de entradas mediante DTOs y class-validator, y la implementación de autenticación basada en JWT con guards y decoradores personalizados. A lo largo de las ocho horas, el participante aprenderá además a razonar sobre el ciclo de vida del framework para elegir entre interceptors y middleware, a normalizar respuestas de error con filtros globales y a gestionar variables de entorno diferenciando entornos sin comprometer secretos. Al finalizar, el participante será capaz de entregar una API REST modular, segura y lista para entornos multi-entorno, con criterios de diseño justificados y errores de configuración resueltos de forma autónoma.

  1. Conceptual — Explicar cómo la separación de responsabilidades en módulos, controladores y servicios contribuye a la mantenibilidad de una API REST en NestJS, y distinguir cuándo aplicar interceptors frente a middleware según el ciclo de vida del framework.
  2. Procedimental — Integrar TypeORM para gestionar entidades y repositorios con operaciones CRUD verificables, aplicar DTOs con class-validator para rechazar payloads inválidos, proteger rutas mediante un guard JWT con decoradores personalizados, y configurar variables de entorno con @nestjs/config diferenciando desarrollo y producción.
  3. Integrador — Construir una API REST modular que combine persistencia relacional, validación de entradas, autenticación, manejo global de excepciones normalizado y configuración por entorno, depurando de forma autónoma errores de inyección de dependencias y de configuración de módulos hasta obtener un servicio funcional y coherente con el contrato de API definido.

Arquitectura modular y diseño de dominio. El curso arranca con el diseño de la estructura modular de una API REST: cómo delimitar un dominio funcional y distribuir responsabilidades entre módulos, controladores y servicios de forma que cada pieza sea independientemente testeable y sustituible. Se analiza el impacto de una buena separación de capas en la mantenibilidad y escalabilidad del proyecto.

Persistencia con TypeORM y gestión de entidades. A continuación se aborda la integración de TypeORM con NestJS: definición de entidades, configuración del módulo de base de datos, uso de repositorios inyectados y ejecución de operaciones CRUD verificadas contra una base de datos relacional. Se presta especial atención a los patrones de inyección de dependencias que NestJS impone sobre los repositorios.

Validación y transformación de datos de entrada. El bloque siguiente cubre el diseño de DTOs anotados con class-validator y class-transformer. Se explica cómo configurar el ValidationPipe global, cómo componer reglas de validación y cómo producir mensajes de error descriptivos que faciliten la depuración por parte de los consumidores de la API.

Autenticación JWT y control de acceso mediante guards. Se implementa un guard de autenticación basado en JWT que protege rutas seleccionadas, diferenciando rutas públicas de privadas a través de un decorador personalizado. Se discuten las implicaciones de seguridad de cada decisión de diseño y los patrones recomendados para integrar Passport con el sistema de guards de NestJS.

Ciclo de vida del framework: interceptors, middleware y filtros de excepción. Este bloque compara el uso de interceptors frente a middleware para casos concretos de transformación de respuesta, justificando la elección con criterios del ciclo de vida. Paralelamente se implementa un filtro global de excepciones que normaliza todas las respuestas de error según un contrato de API predefinido, garantizando consistencia en el comportamiento del servicio ante errores esperados e inesperados.

Configuración por entorno y depuración. El curso cierra con la integración de @nestjs/config para gestionar variables de entorno diferenciando desarrollo y producción sin exponer secretos en el repositorio. Se dedica un espacio específico a la depuración sistemática de errores de inyección de dependencias y de configuración de módulos: lectura de trazas, identificación de la causa raíz y aplicación de correcciones contrastadas.

  • Node.js ≥ 18 LTS instalado localmente.
  • npm ≥ 9 o pnpm ≥ 8.
  • NestJS CLI (npm i -g @nestjs/cli) versión compatible con NestJS 10.
  • Base de datos relacional disponible localmente o en contenedor: PostgreSQL 15 recomendado (alternativa: MySQL 8 / SQLite para ejercicios sin infraestructura).
  • Docker (opcional pero recomendado) para levantar la base de datos sin instalación local.
  • IDE con soporte TypeScript: VS Code con extensiones ESLint y Prettier configuradas.
  • Cliente REST para pruebas manuales: Postman, Insomnia o extensión REST Client de VS Code.
  • Acceso a terminal Unix/macOS o PowerShell en Windows con permisos para instalar paquetes globales.
  • Conocimiento sólido de TypeScript: tipos, decoradores, clases y genéricos.
  • Dominio de los conceptos fundamentales de NestJS cubiertos en NNJS01: módulos, controladores, servicios, inyección de dependencias y ciclo de vida básico de la aplicación.
  • Familiaridad con el protocolo HTTP y los principios REST (verbos, códigos de estado, estructura de recurso).
  • Manejo básico de una base de datos relacional (SQL) y comprensión del concepto de ORM.
  • Conocimiento elemental de JWT: qué es un token, cómo se firma y cómo se transmite en una petición HTTP.