Curso de NestJS

Formación práctica sobre Nest, el framework avanzado en NodeJS para el desarrollo de todo tipo de aplicaciones web
En marcha
Intermedio
25 Clases 16 h (aprox.)
89€
69€
Precio en promoción
NestJS, o simplemente Nest, es un framework backend que se ejecuta bajo la plataforma NodeJS. Es un framework con el que podemos hacer todo tipo de aplicaciones web, aunque generalmente se usa para el desarrollo de servicios web, es decir, APIs con el modelo API REST o GraphQL.

En comparación con otros frameworks basados en Node, Nest ofrece una arquitectura cuidada y dirige el diseño del software completamente orientado a objetos, lo que garantiza unos estándares de calidad más altos y una mejor mantenibilidad del código. Es un framework que realmente cubre una parcela que no existía en Node.

Este curso de Nest consta de dos partes. Una en la que te explicaremos los fundamentos de NestJS con vídeos cortos y previamente grabados y otra parte en la que realizaremos una aplicación práctica, con clases en vivo. Para las clases prácticas del desarrollo de un proyecto de API REST usaremos PostgreSQL.

Qué aprenderé en el Curso de NestJS

  • Fundamentos de NestJS
  • Arquitectura de Nest con sus principales componentes
  • Acceso a las bases de datos con ORM TypeOrm
  • Autenticación de usuarios con JWT
  • Cómo desarrollar APIs con Nest
  • Documentar el API REST con Swagger
  • Despliegue del API a producción en Heroku

Objetivos del curso

El curso de NestJS ofrece una formación completa y práctica sobre el framework de desarrollo más avanzado basado en NodeJS. Permite a los estudiantes entender los fundamentos de Nest para el desarrollo de aplicaciones backend, con bases de datos, autenticación de usuarios y más. Además muestra cómo se desarrollan proyectos reales de API REST, comenzando desde cero y llegando hasta el despliegue de la aplicación.

Por qué debes aprender NestJS

Nest es el framework más avanzado con NodeJS, que permite el desarrollo de proyectos de una manera productiva y guiados por buenas prácticas. Si te gusta el desarrollo avanzado, con un buen diseño orientado a objetos, la distribución de responsabilidades por capas y las bondades de TypeScript, NestJS es para ti.

Si vienes de Angular, además encontrarás en Nest un framework muy familiar, ya que tiene una arquitectura similar y ofrece una experiencia de desarrollo muy parecida y avanzada.

Si piensas aprovechar las ventajas de NodeJS y además construir aplicaciones de una manera más guiada y estándares de calidad garantizados, entonces no te lo pienses y aprende ya mismo con este curso de Nest

Qué tengo que saber

Para hacer el curso de Nest es importante tener conocimientos de Javascript. Es posible hacer el curso sin conocimientos previos de TypeScript, porque iremos explicando las bases del lenguaje a medida que se vayan utilizando. Sin embargo, sería de gran ayuda tener claro de antemano este superset de Javascript con el Curso de TypeScript. También resultará de utilidad contar con unos conocimientos al menos básicos de la plataforma NodeJS que puedes obtener en el Curso de Node.

Clases y contenidos

Videos a la carta

En los siguientes vídeos encuentras los fundamentos del framework Nest. Cada semana iremos liberando nuevos vídeos hasta el comienzo de las clases en directo. Aquí encuentras tanto los vídeos ya publicados como los planificados y sus fechas.

Introducción a NestJS y su aplicación inicial Gratis

En este vídeo veremos qué es NestJS y qué características tiene este framework Backend basado en NodeJS. Luego instalaremos un nuevo proyecto de Nest y haremos un repaso por el código de la aplicación generada para entender su arquitectura básica.

Controladores en NestJS

Ahora vamos a introducir el concepto de controlador, una de las piezas más elementales de las aplicaciones en Nest. Crearemos controladores de diversas maneras, apoyados en el CLI y luego realizaremos diversas rutas, con envío de parámetros y distintos métodos de HTTP.

Personalizando el status code de las respuestas en Nest

Vamos a aprender a personalizar las respuestas de los endpoints mediante el envío de distintos códigos de status, en el código de los controladores. Personalizaremos el status code de diversas maneras y trabajaremos con el objeto response. También veremos cómo enviar errores levantando excepciones que nos permiten gestionar también las respuestas ante situaciones excepcionales en las aplicaciones.

Servicios

Introducimos los servicios en Nest. Creamos un nuevo servicio, con almacenamiento en memoria y las operaciones básicas de un crud. Mostramos cómo usar un servicio dentro de un controlador, inyectando el servicio e invocando sus distintos métodos.

Interfaces

Qué son las interfaces de TypeScript y cómo nos ayudan a la hora de definir los tipos de datos de las entidades de las aplicaciones. Practicaremos con interfaces, aplicando tipos a nuestras entidades y adaptando el código de controladores y servicios. Practicaremos también con excepciones para mejorar nuestro código.

Módulos en NestJS

Qué son los módulos, cómo nos ayudan a organizar el código y la arquitectura de la aplicación. Construiremos un par de módulos en nuestra aplicación para mejorar y expandir su funcionalidad.

Pipes en Nest

Qué son los pipes en las aplicaciones con Nest. Explicamos el concepto y veremos un ejemplo de aplicación de un pipe de transformación.

ValidationPipe para validaciones en NestJS

Cómo realizar validaciones en Nest Framework, de manera sencilla mediante ValidationPipe. Aprenderemos lo que es un DTO, cómo crear DTOs en una aplicación de Nest y cómo escribir las reglas de validación. Usaremos el pipe ValidationPipe de manera global para que afecte a todos los request de la aplicación.

Validación de una ruta PATCH

En este vídeo vamos a seguir avanzando sobre el tema de validación, entrando en detalle sobre cómo reutilizar un DTO y sus reglas de validación para una ruta de update por el método PATCH, que tiene campos o propiedades opcionales en el objeto del body.

Otras configuraciones y posibilidades de los pipes

Configuraciones y personalizaciones para el uso de pipes: ValidationPipe a nivel de ruta, personalizar el comportamiento del las validaciones, cómo trabajar con pipes asíncronos, etc.

TypeORM en Nest

El curso de Nest continúa ahora con el acceso a las bases de datos, usando el ORM TypeORM. Conectaremos con la base de datos y crearemos entidades que generarán tablas en MySQL.

Repositorios con TypeORM y NestJS

Cómo usar los repositorios de TypeORM para el acceso a los datos desde aplicaciones Nest. Veremos cómo inyectar repositorios a un servicio y cómo acceder a los datos que contienen las tablas de la entidad. Trabajo con operaciones del CRUD.

Relaciones en TypeORM

Relaciones entre tablas con TypeORM y Nest Framework. Cómo crear entidades que se puedan relacionar con otras. Veremos las relaciones de 1 a muchos en este vídeo.

Relaciones de muchos a muchos con TypeORM

Relaciones de muchos a muchos en TypeORM y Nest. Veremos cómo se especifican las relaciones, cómo se crean las tablas pivote de manera automática y cómo se almacenan datos de tablas relacionadas de n a m.

Filtrados, ordenación y paginación en un endpoint

En esta clase vamos a hacer una práctica de recepción de datos que vienen en variables del Query String que usaremos para poder realizar filtrados, ordenación sobre los recursos en el endpoint de productos. Para ello aprenderemos a usar las propiedades de configuración del método find() de los repositorios TypeORM.

Configuración y variables de entorno en aplicaciones Nest

Acceso a variables de un archivo de configuración .env donde almacenaremos las variables de entorno. Explicaremos cómo usar ConfigModule y ConfigService, así como cómo configurar TypeOrmModule con variables de entorno.

Clases en vivo

En las siguientes clases online impartidas en directo realizaremos un proyecto real de un API REST creado con Nest, paso por paso y aplicando las mejores prácticas.

Desarrollo de aplicaciones con Nest Gratis

En esta clase en abierto empezamos con la parte práctica y nos adentraremos en las piezas más fundamentales de las aplicaciones desarrolladas con Nest.

Inicio del proyecto de API Rest con Nest

En esta clase vamos a ver cómo iniciar el proyecto de API Rest que vamos a realizar durante el curso. Durante la clase explicaremos los componentes principales de este proyecto, así como el modelo de dominio. Luego trabajaremos sobre el primer recurso, "proyects" que nos servirá para aprender las bases sobre controladores y servicios aplicadas a un proyecto real.

Agregando Swagger y TypeORM al recurso

En esta clase evolucionamos el recurso Project, que hasta ahora estaba desarrollado sin base de datos. Agregamos decoradores de Swagger para documentarlo y Mapped types para reutilizar el DTO y luego nos centramos en añadir TypeORM al servicio para trabajar con la base de datos. Finalizamos mostrando cómo hacer recursos con el CLI y un comando que consigue realizar todos los archivos necesarios de una vez.

Configuración de la aplicación y Relaciones en TypeORM

En esta clase realizamos algunos ajustes en el proyecto del API REST con Nest y sobre la documentación con Swagger. Luego implementamos toda la configuración del proyecto con variables de entorno. Por último nos metemos de lleno en el tema de las relaciones entre las entidades del proyecto, configurando TypeORM y mejorando los servicios para trabajar con estas relaciones.

Usuarios y autenticación en Nest

En esta clase comenzaremos viendo lo que son las migraciones y cómo podemos crearlas para actualizar la base de datos una vez que el proyecto está en producción. Luego nos metemos de lleno en todo lo que es la autenticación de usuarios en Nest, creando la entidad de usuario y los endpoints para hacer login.

Generación de tokens JWT e implementar rutas con autenticación

En esta clase veremos cómo es todo el flujo de tokens de autenticación con JWT. Veremos cómo se genera el token y cómo se consulta el token en todas las rutas que requieren autenticación. Crearemos nuevas rutas en el API que gestionan todo el flujo de verificación de usuarios mediante sus JWT.

Mejoras en el API con Nest

Realizaremos varias mejoras en el API desarrollada con Nest: Seguridad, Cors y relaciones de 1 a 1 y de muchos a muchos.

Roles, subida de ficheros, caché, versionado...

Gestión de roles y subida de ficheros en nuestro API REST. Cómo usar la caché de Nest para evitar repetir las SQL. Cómo debugear las sentencias SQL con un log a fichero. Cómo hacer el versionado del API.

Despliegue en Heroku

Valoraciones

José Humanes Humanes

Edson Suarez

Contento con el curso.

John Paul Liberal Rojas

Cursos que también te pueden interesar

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 170 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete