Esta es una formación integral para aprender a desarrollar aplicaciones backend profesionales de principio a fin. Desde la instalación inicial hasta el despliegue en producción con Docker, dominarás APIs REST robustas, autenticación segura con JWT, documentación de endpoints con Swagger y conexión con bases de datos populares como MySQL, Oracle y MongoDB. Además, aprenderás a crear microservicios, cron jobs, enviar correos con Nodemailer y aplicar principios de arquitectura moderna, todo con ejemplos prácticos y buenas prácticas orientadas al mundo real.
El curso que te presentamos a continuación se ha destinado a todas las personas interesadas en desplegar aplicaciones con Docker en entornos productivos.
1.Preparación del entorno
1.1 Instalar Visual Studio Code
1.2 Instalar Node.js
1.3 Instalar Postman
1.4 Instalar Docker
1.5 Instalar Visual Studio Code Linux
1.6 Instalar Node.js Linux
1.7 Instalar Postman Linux
2.Instalación de NestJs
2.1 Instalación de @nestjs/cli
3. Configuración Postman
3.1 Explicando cómo funciona Postman
3.2 Creando un environment
3.3 Exportar e importar variables del entorno
4.REST API de una lista de nombres
4.1 Resultado esperado
4.2 ¿Qué es una REST API?
4.3 Creando nuestro proyecto
4.4 Creando nuestro módulo
4.5 Creando nuestro controlador
4.6 Creando nuestro servicio
4.7 Creando e inicializando nuestro array de nombres
4.8 Operación Create con los decoradores @Post y @Body
4.9 No insertar un nombre si ya existe
4.10 Operación Read con el decorador @Get
4.11 Mejorando la operación Read con el decorador @Query
4.12 Operación Update con los decoradores @Put y @Param
4.13 Operación Delete con los decoradores @Delete y @Param
4.14 Limpiando todos los nombres
4.15 Exportando los endpoints de Postman
5. Swagger
5.1 Resultado
5.2 Instalar swagger
5.3 ApiTags
5.4 ApiOperation
5.5 ApiParam
5.6 ApiQuery
5.7 ApiPost
5.8 Probando nuestra documentación completamente
6.Usuarios
6.1 Resultado esperado
6.2 Creando el proyecto
6.3 Creando nuestro módulo, controlador y servicio
6.4 Creando nuestro primer dto
6.5 Validando la entrada de parámetros
6.6 Global Pipe
6.7 Creando usuarios
6.8 Pipe parseDate
6.9 Obteniendo usuarios filtrados
6.10 Actualizando usuarios
6.11 Eliminando usuarios
6.12 Documentando nuestros endpoints
6.13 Documentando nuestro dto
7.Instalación MySQL
7.1 Descargar imagen MySQL
7.2 Instalar MySQL Workbench en Windows
7.3 Instalar MySQL Workbench en Linux
8.Conexion MySQL
8.1 Resultado esperado
8.2 Diferencia entre un entity y un dto
8.3 Reinicio de tablas
8.4 Creando un proyecto
8.5 Instalando TypeORM
8.6 ¡A tener en cuenta en el próximo video!
8.7 Configuración del ORM con ormconfig.json
8.8 Creando el módulo Product
8.9 Creando nuestro product-dto
8.10 Creando nuestro product.entity
8.11 Inyectando nuestro repositorio en productService
8.12 Creando un producto
8.13 Devolviendo un producto por su id
8.14 Mejorando la validación del producto al crearlo
8.15 Devolviendo todos los productos
8.16 Devolviendo todos los productos borrados
8.17 Actualizando productos
8.18 Borrado suave de productos
8.19 Recuperando productos borrados
8.20 Creando stock-dto
8.21 Actualizando el stock de un producto
8.22 Incrementando el stock de un producto
8.23 Decrementando el stock de un producto
8.24 Documentando los endpoints de product
8.25 ApiResponse
8.26 Documentando dto
8.27 Creando el módulo Client
8.28 Creando client-dto
8.29 Creando client.entity
8.30 Creando address-dto
8.31 Creando address.entity
8.32 Relación OneToOne con typeorm
8.33 Crear cliente
8.34 Validar si existe o no el cliente
8.35 Validar la dirección
8.36 Obtener todos los clientes
8.37 Obtener un cliente por su id
8.38 Actualizar un cliente
8.39 Validar email al actualizar
8.40 Validando la dirección al actualizar cuando no tiene id
8.41 Validando la dirección al actualizar cuando tiene id
8.42 Borrando la dirección desreferenciada
8.43 Eliminar un cliente
8.44 Creando el módulo Order
8.45 Creando order-dto
8.46 Creando order.entity
8.47 Relación ManyToOne/OneToMany
8.48 Relación ManyToMany
8.49 Completando order-dto
8.50 Importando el módulo Cliente y Producto
8.51 Creando órdenes
8.52 Obtener una orden por su id
8.53 Obtener órdenes pendientes
8.54 Obtener órdenes confirmadas
8.55 ¡A tener en cuenta antes del próximo video!
8.56 Filtrando órdenes confirmadas (parte 1)
8.57 Filtrando órdenes confirmadas (parte 2)
8.58 Confirmando órdenes
8.59 Obtener órdenes de un cliente
8.60 Documentar dto
8.61 Documentar endpoints de clientes (parte 1)
8.62 Documentar endpoints de clientes (parte 2)
8.63 Documentar endpoints de órdenes
9.Instalar Oracle
9.1 Descargar imagen docker
9.2 Instalar SQLDeveloper en Windows
10.Conexión Oracle
10.1 Crear un usuario en Oracle
10.2 Creando nuestro proyecto
10.3 ¡Atención antes del siguiente video!
10.4 Adaptando el anterior proyecto
10.5 Probando el funcionamiento con Postman
Test de Conocimientos I
11. Instalación de Mongo DB
11.1 Descargar imagen docker
11.2 Instalar MongoDB Compass en Windows
11.3 MongoDB en linux
11.4 Instalar MongoDB Compass en Linux
11.5 Seguridad MongoDB Linux
12. Conexion Mongo con mongoose
12.1 Resultado esperado
12.2 Creando nuestro proyecto
12.3 Instalando @nestjs/mongoose
12.4 Configuration
12.5 Creando nuestra configuración en ficheros env
12.6 Configurando nuestro entorno de desarrollo
12.7 Conectar con mongo usando los datos de la configuración
12.8 Creando el módulo Permissions
12.9 Creando permission-dto
12.10 Schema permission
12.11 Inyectando el servicio conexión de MongoDB en los permisos
12.12 Creando permissions
12.13 Obteniendo todos los permissions
12.14 Filtrando permissions por su nombre
12.15 Creando updated-permission-dto
12.16 Actualizando permissions
12.17 Borrando permissions
12.18 Documentando permissions
12.19 Creando el módulo Roles
12.20 Creando role-dto
12.21 Schema role
12.22 Inyectando el modelo de MongoDB en los roles
12.23 findPermissionByname
12.24 Creando roles
12.25 Obteniendo roles
12.26 Filtrando roles
12.27 Buscar roles por nombre
12.28 Actualizando roles
12.29 Añadiendo permissions al role
12.30 Borrando permissions al role
12.31 Borrando roles
12.32 Documentación de roles
12.33 Creando el módulo User
12.34 Creando user-dto
12.35 Schema User
12.36 Inyectando el modelo de MongoDB en los usuarios
12.37 Creando usuarios
12.38 Obtener un usuario por email
12.39 Obteniendo usuarios
12.40 Paginación de usuarios
12.41 Pipe greaterZero
12.42 Ordenación de usuarios
12.43 Obtener un usuario por usercode
12.44 Actualizando usuarios
12.45 Creando user-role-dto
12.46 Añadir un rol al usuario
12.47 Borrar un rol al usuario
12.48 Borrando usuarios
12.49 Obteniendo usuarios borrados
12.50 Obteniendo usuarios no borrados
12.51 Mejorando la parte de los GETs
12.52 Restaurando usuarios
12.53 Contar el número de usuarios con un rol
12.54 forwardRef
12.55 No borrar el rol si hay usuarios con ese rol
12.56 Documentación usuarios
13. Mongo Atlas
13.1 Creando una cuenta en Mongo Atlas
13.2 Preparando nuestro proyecto
13.3 Conectando Mongo Atlas con Mongo Compass
13.4 Adaptando nuestra conexión para Mongo Atlas
13.5 Probando nuestros endpoints
Test de Conocimientos II
14. Autenticación
14.1 Resultado esperado
14.2 Creando nuestro proyecto
14.3 Configuración
14.4 Conexión MongoDB
14.5 Creando el módulo de users
14.6 Creando user-dto
14.7 Schema User
14.8 Inyectando el modelo de usuario
14.9 Creando usuarios
14.10 Encriptando contraseñas
14.11 Obteniendo usuarios
14.12 Obteniendo un usuario por su email
14.13 Poblar usuarios
14.14 Creando auth module
14.15 Mejorando la configuración
14.16 Creando auth-credentials-dto
14.17 Passport
14.18 Importando JwtModule usando nuestro secretKey
14.19 Estrategia JWT
14.20 Validar Token
14.21 Validar credenciales
14.22 Login
14.23 jwt.io
14.24 Protegiendo los endpoints del módulo user
14.25 Devolviendo datos del usuario logueado
14.26 Documentando nuestros endpoints
14.27 Añadiendo autorización a swagger
15.Subir Archivos multimedia
15.1 Resultado esperado
15.2 Creando nuestro proyecto
15.3 Creando nuestro módulo
15.4 MulterModule
15.5 Subir un archivo
15.6 Subiendo un archivo con Postman
15.7 Subir varios archivos a la vez
15.8 Limitando el tamaño de los ficheros
15.9 Solo subir imágenes
15.10 Mejorando donde almacenar los archivos
15.11 Cambiar el nombre de los ficheros al subirlos
15.12 Descargar un archivo
15.13 Documentando nuestros endpoints
15.14 Subir archivos en Swagger
16.Cron
16.1 Resultado esperado
16.2 Creando nuestro proyecto
16.3 Creando módulo cron
16.4 Instalando @nestjs/schedule
16.5 Crontab guru
16.6 Creando crons
16.7 Desactivando un cron
16.8 Instalando @types/cron
16.9 Activando un cron
16.10 Devolver todos los nombres de los crons
16.11 Desactivando todos los crons a la vez
16.12 Activando todos los crons a la vez
16.13 Documentando nuestros endpoints
17.Logs
17.1 Resultado esperado
17.2 Creación del proyecto
17.3 Reutilizando el proyecto anterior
17.4 Instalar Winston
17.5 Creando nuestro módulo Logger de forma global
17.6 Creando nuestro servicio
17.7 Formato de texto
17.8 Formato de fecha
17.9 Creando nuestros logger
17.10 Arrancando nuestro logger
17.11 Usando LoggerService
17.12 Instalar Winston rotate
17.13 Rotar logs por días
17.14 Usar console.log como logger
18.Emails
18.1 Resultado esperado
18.2 Creando nuestro proyecto
18.3 Creando nuestro módulo
18.4 Creando MessageDto
18.5 Validando el interior de un array
18.6 EmailConfig
18.7 Módulo dinámico
18.8 Instalar nodemailer
18.9 Creando un endpoint para enviar un email
18.10 Configurando nuestro módulo para enviar correos con Gmail
18.11 Configurar Gmail
18.12 Enviar correos con nodemailer
18.13 Testeo de envío de email
18.14 Configurando nuestro módulo para enviar correos con Outlook
18.15 Documentación
19.Microservicios
19.1 Resultado esperado
19.2 ¿Qué es un microservicio?
19.3 Creando nuestros proyectos
19.4 Instalar las dependencias necesarias
19.5 Creando los módulos necesarios en el backend 1
19.6 Creando los módulos necesarios en el backend 2
19.7 Creando nuestros microservicios
19.8 Creando la conexión de nuestros microservices
19.9 Creando un endpoint para mandar un mensaje
19.10 Patterns
19.11 MessagePattern (backend 1 al backend 2)
19.12 MessagePattern (backend 2 al backend 1)
19.13 Event (backend 2 al backend 1)
19.14 Event (backend 1 al backend 2)
19.15 Controlar el error en caso de que no haya conexión
20. MQTT Explorer
20.1 Instalar MQTT Explorer en Windows
20.2 Instalar MQTT Explorer en Linux
21. MQTT
21.1 Resultado esperado
21.2 ¿Qué es MQTT?
21.3 Creando nuestro proyecto
21.4 Creando módulo necesarios
21.5 Creando la conexión con MQTT (parte 1)
21.6 Creando la conexión con MQTT (parte 2)
21.7 Publicando un topic
21.8 Mejorando la visualización de datos
21.9 Creando mqtt-data-dto
21.10 Publicar un topic desde un endpoint
21.11 Recibir datos de un topic
21.12 Controlar errores
22.Despliegue
22.1 Compilando nuestra aplicación
22.2 Copiar ficheros al compilar con copyfiles
22.3 Instalando dependencias
22.4 Ejecutando nuestra aplicación compilada
22.5 Instalando pm2 y ejecutando nuestra aplicación
Test final de curso
Finalizada la formación obtendrás un certificado de aprovechamiento.
Información Adicional
Precio: 375,00 €
Si vienes de Empresa, puedes bonificar hasta el 100% del curso con el crédito FUNDAE