Curso de desarrollo de API REST con Nest Framework

Desarrollo de un proyecto completo de API REST con el framework Nest de NodeJS
Material disponible
Avanzado
10 Clases 22 h
89€
69€
Precio en promoción
Nest Framework es el marco de desarrollo más avanzado para NodeJS, que gustará a los entusiastas del diseño orientado a objetos, la arquitectura de las aplicaciones y las buenas prácticas. Es un framework muy inspirado en Angular, por lo que los desarrolladores frontend que conozcan esa tecnología se sentirán muy cómodos al trabajar con Nest.

Con Nest podemos hacer todo tipo de aplicaciones backend, incluso aplicaciones de propósito general. Sin embargo, lo más común es realizar el desarrollo de servicios web, es decir, APIs con el modelo API REST o GraphQL. Este curso de desarrollo de APIs con NestJS nos mostrará cómo conseguirlo.

Qué aprenderé en el Curso de desarrollo de API REST con Nest Framework

  • Crear proyectos de API REST realistas
  • Acceso a la base de datos mediante ORM
  • Autenticación y autorización de usuarios
  • Gestión de tokens y refresh token para identificar a los usuarios autenticados
  • Usar Swagger para documentar y probar los endpoints del API
  • Gestión de la configuración de las aplicaciones
  • Despliegue del proyecto de API en Heroku
  • Gestión de roles de usuarios
  • Crear endpoints para subida de ficheros

Objetivos del curso

El curso de Desarrollo de API con Nest framework tiene como objetivo mostrar cómo crear un servicio web con el modelo REST lo más realista posible, implementando todas las funcionalidades necesarias para conseguir un proyecto completo, seguro y usable en producción.

A lo largo de las clases del curso se explicará cómo realizar las tareas necesarias comúnmente en los servicios web, como la autenticación de usuarios, las autorizaciones, gestión de roles, validaciones de datos, etc. Para el desarrollo del API se usará una base de datos PostgreSQL y el acceso se realizará con TypeORM. Además veremos cómo gestionar los token JWT para la autorización, con su correspondiente token de refresco. Veremos continuamente buenas prácticas necesarias para hacer proyectos robustos y finalmente cómo llevar a producción el API.

Por qué debes aprender Desarrollo de API REST con Nest Framework

Los proyectos más típicos que puedes desarrollar con Nest son los servicios web y especialmente las API REST. NestJS permite que el desarrollo de las API sea sencillo, productivo, con un buen diseño y una clara distribución de responsabilidades. Todo ello impactará en la facilidad de desarrollo y mantenimiento futuro del proyecto.

Nest es la herramienta definitiva para aprovechar toda la potencia de NodeJS y conseguir un desarrollo amistoso, aumentando la productividad de los equipos. En este curso aprenderás todas una serie de prácticas deseables, fruto de la experiencia del docente en el uso de esta tecnología, que te resultarán muy útiles cuando desarrolles tus propios proyectos y te permitirán aprovechar todas las capacidades del framework.

Qué tengo que saber

Para poder aprovechar este curso es necesario tener conocimientos sólidos de Javascript y sería deseable conocer también TypeScript. Además, sería aconsejable tener una idea inicial de Nest y las piezas fundamentales de su arquitectura. Aunque en el curso se puedan explicar conceptos básicos, se pasará muy rápidamente por ellos, por lo que sería interesante que el estudiante haya hecho antes el Curso de Fundamentos de Nest.

Clases y contenidos

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

En esta clase vamos a mostrar de manera práctica cómo se hace el despliegue de una aplicación NodeJS, el API REST que hemos desarrollado durante el curso. Lo haremos en la plataforma Heroku, ya que nos permite desplegar la aplicación y la base de datos PostgreSQL de manera gratuita.

Access token y Refresh token para autenticación

En esta clase implementamos un mecanismo de seguridad habitual en las API REST, consistente en ofrecer un refresh token, junto con el access token durante el proceso de login. Veremos para qué sirve el refresh token y cómo mantener activo el login del usuario por más tiempo y entregar nuevos access token cuando hayan caducado.

Valoraciones

Enrique Gálvez

Este curso merece mucho la pena para quienes quieran saber cuáles son las partes de un proyecto de API y cómo desarrollarlas en Node.

Cursos que también te pueden interesar

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 190 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