Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de Node JS

DISPONIBLE EN MODALIDAD:
onlineWhite
Online
arrowRightDark
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

Desarrolla soluciones web con Node desde la configuración inicial del entorno de desarrollo hasta el despliegue continuo, explorando temas avanzados como seguridad, gestión de bases de datos, testing y despliegue.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en Node JS bonificable para empresas

A quién va dirigido nuestro curso de Node JS

Desarrolladores con experiencia en Javascript y Typescript que quieran aprender a desarrollar soluciones Web con Node y Express desde cero hasta llegar a automatizar el proceso de despliegue

Objetivos de nuestro curso de Node JS

  • Comprender e instalar Node.js y NPM, explorando NVM para gestionar múltiples versiones
  • Utilizar Express para crear APIs web, configurando rutas y manejo de peticiones
  • Integrar bases de datos relacionales y NoSQL, además de implementar autenticación segura con JWT y OAuth
  • Desarrollar pruebas unitarias, documentar con Swagger y automatizar despliegues con Vercel
  • Profundizar en temas avanzados y realizar un proyecto final que integre todos los conceptos aprendidos

Qué vas a aprender en nuestro curso de Node JS

Desarrolla soluciones web con Node desde la configuración inicial del entorno de desarrollo hasta el despliegue continuo, explorando temas avanzados como seguridad, gestión de bases de datos, testing y despliegue.

Requisitos de nuestro curso de Node JS

  • Tener experiencia desarrollando con HTML, CSS, Javascript (ES6 o superior) y conocer las bases de Typescript, además de haber trabajado con Git previamente
  • Tener una cuenta de Github que puedas emplear durante el curso
  • Tener Git, Docker Desktop y Visual Studio Code instalados previamente en el equipo
  • Tener un equipo, con acceso a un usuario con permisos de instalación y conexión estable a Internet

Nuestras modalidades de formación

icon
Cursos Online
modalidadesImg
Formación a través de nuestro campus virtual
modalidadesImgBonificable hasta el 100% por FUNDAE
modalidadesImg
Horario Flexible de formación
modalidadesImg
Teoría, práctica y vídeos guiados
modalidadesImgAcceso multiplataforma, desde PC y móviles
modalidadesImg
100% tutorizado por un formador experto
modalidadesImg
Diploma de aprovechamiento
Me interesa
icon
Aula Virtual Personalizada
aulasModalidades
Videoconferencia en tiempo real, síncrono, a través de Zoom
aulasModalidades
Bonificable hasta el 100%, por FUNDAE.
aulasModalidadesPlanificación a medida
aulasModalidades
100% práctico con proyectos evolutivos
aulasModalidades
Temario adaptado a vuestras necesidades
aulasModalidades
100% tutorizado con feedback inmediato
aulasModalidades
Diploma de aprovechamiento
Me interesa
Node JS: Últimas plazas

A continuación te mostramos las próximas convocatorias disponibles de nuestras formaciones online. Si te interesa realizar una formación a medida, para un grupo de trabajadores, puedes realizar un Aula Virtual Personalizada.

08 ene
arrowConvocatorias
iconoCurso
Curso Node JS Online
regularClockIcon.svg
60 horas lectivas
plazasIcon
Plazas limitadas
porcentajeicon
Hasta 100% bonificables
¡ÚLTIMAS PLAZAS!
¡Me interesa!

Temario del curso de Node JS

tema 1

Introducción a Node y NPM

  • ¿Qué es Node?
  • Node en la actualidad y tipos de proyectos más destacables
  • Instalación de Node en su versión LTS de manera oficial
  • Verificando la versión de Node instalada en el equipo
  • ¿Es posible tener varias versiones de Node instaladas en un equipo?
  • Introducción a NVM
  • ¿Por qué es necesario poder contar con varias versiones de Node?
  • Comando de NVM para listar versiones de Node instaladas
  • Comando de NVM para instalar nuevas versiones de Node
  • Comando de NVM para usar una versión de Node en particular
  • Comando de NVM para desinstalar versiones de Node de tu equipo
  • ¿Qué es NPM?
  • ¿Qué es NPX y cuándo debemos emplearlo?
  • Verificando la versión de NPM instalada en el equipo
  • Configuración de Visual Studio Code para el desarrollo de proyectos Node
  • Plugins imprescindibles y recomendados de Visual Studio Code
  • Creación de un proyecto Node a través de comando "init" de NPM
  • Completando los campos de información de nuestro proyecto
  • Entendiendo qué es el archivo Package.json
  • Añadiendo nuestro primer archivo JavaScript en el proyecto
  • ¿Qué son los scripts NPM y cómo configurarlos en el archivo package.json?
  • Ejecución de archivo Javascript con Node desde la consola/terminal
  • Creación de script NPM para ejecutar un archivo Javascript
  • Ejecutando script NPM con el comando "npm run"
  • Depuración de código Javascript desde Visual Studio Code
  • Configurar puntos de ruptura y visualización de variables durante la depuración
  • Introducción a Babel
  • Creación de archivo configuración de Babel a través de comandos
  • Análisis de configuración de Babel para trabajar con distintas versiones de EcmaScript
  • Trabajando con la última versión de Ecmascript en proyectos Node
  • Trabajando con módulos y clases en proyectos Node
  • Importación y exportación en proyectos Node
  • Módulos built-in de Node más comunes: fetch, Filesystem, Path
  • Creación y utilización de nuestros propios módulos
  • ¿Qué son los paquetes NPM?
  • Analizando el repositorio oficial de NPM y sus paquetes más destacables
  • Comando NPM para realizar instalaciones desde la consola
  • Instalaciones de paquetes de desarrollo y producción
  • Analizando el package.json para el control de versiones de los paquetes necesarios
  • ¿Qué hacer si tenemos problemas con las versiones de los paquetes NPM instalados?
  • Reinstalación/Actualización de paquetes y solución de errores en proyectos Node
  • Configuración para builds de proyectos Node
  • Creación de un script de build de desarrollo y de producción
  • Analizando las builds y sus archivos generados
  • Creación de plantilla de proyectos Node y Babel para Github
  • ¿Por qué pasarse a desarrollar en Typescript?
  • Creación de plantilla deproyectos Node con Typescript
  • Configuraciones fundamentales de un proyecto que emplee Typescript
  • Revisando el proceso de transpilación
  • Trabajando con tipos de datos, enumerados y creación de tipos propios
  • Diferencias y consejos fundamentales de desarrollo con Typescript
  • Gestión de librerías en un proyecto Typescript e instalación de @types
iconArrowDown
tema 2

Desarrollo de Web APIs con Express

  • ¿Qué es Express?
  • Instalación y puesta en marcha
  • Creación de archivo principal de Express
  • Creación de la ruta base de nuestro proyecto Express
  • Especificando el puerto de despliegue
  • Especificando un mensaje "Hola Mundo" de respuesta JSON
  • Especificando el código de estado a nuestra respuesta
  • Desplegando la aplicación y accediendo desde el navegador
  • Iniciando Postman y probando la ruta base del proyecto
  • Introducción a la estructura de proyectos Express
  • Introducción a las variables de entorno
  • Estableciendo archivos de variables de entorno
  • Declaración de variables de entorno
  • Configuración de archivo .gitignore
  • Publicando proyecto Express en Github
  • Estableciendo ramas de desarrollo y producción
  • Alternativas a Express más destacables: Koa, Fastify y Adonis
iconArrowDown
tema 3

Peticiones, Sistema de Enrutado, Controladores y Respuestas

  • Análisis de los verbos HTTP: GET, POST, PUT y DELETE
  • Otros verbos HTTP y sus utilidades
  • Recibiendo peticiones desde un cliente
  • Especificando una ruta "/api" como base para nuestro proyecto
  • Declaración de rutas en un proyecto Express
  • Declarando una misma ruta para distintos verbos
  • Accediendo a la cabecera de la petición
  • Accediendo al cuerpo de la petición
  • Configurando la respuesta al cliente
  • Distintos tipos de respuestas: Texto, JSON y HTML
  • Recepción de parámetros por Query Params
  • Redirección de rutas
  • Estructura de proyectos Express
  • ¿Qué es un controlador?
  • Declaración de controladores en proyectos Express
  • Indicando el uso de un controlador
  • Depurando la ejecución de un controlador
  • Reutilización de controladores
  • Buenas prácticas en la estructuración de rutas y controladores
iconArrowDown
tema 4

Gestión de Peticiones y respuestas CRUD

  • Estableciendo una base de datos lite como introducción
  • Creación de rutas para peticiones de Creación (C)
  • Códigos de estado para creaciones exitosas y erróneas
  • Redirección de rutas para devolver elemento creado correctamente
  • Creación de rutas para lectura y consultas con Query Params (R)
  • Códigos de estado para lecturas exitosas y erroróneas
  • Creación de rutas para peticiones de Actualización (U)
  • Códigos de estado para actualizaciones exitosas y erroróneas
  • Creación de rutas para peticiones de Borrado (D)
  • Códigos de estado para borrados exitosos y erroróneas
iconArrowDown
tema 5

Persistencia en bases de datos relacionales: PostgreSQL

  • Introducción a bases de datos relacionales
  • Instalación y configuración básica de PostgreSQL
  • Iniciando servidor PostgreSQL localmente
  • Usando herramientas de vislauzación de datos de PostgreSQL: BeeKeeper
  • Configuración en proyecto Express para conexión con PostgreSQL
  • ¿Qué es un ORM? Ventajas e inconvenientes.
  • Utilización de un ORM (Sequelize)
  • Operaciones CRUD en proyecto Express con PostgreSQL como base de datos
  • Dockerización de proyecto Express con PostgreSQL
  • Introducción a Render como solución cloud
  • Creación de una cuenta gratuita en Render
  • Creación y configuración básica de una base de datos PostgreSQL en Render
  • Conexión desde Express con PostgreSQL de Render
  • Añadiendo variables de entorno al proyecto para las conexiones y api keys
iconArrowDown
tema 6

Persistencia en bases de datos NoSQL: MongoDB

  • Introducción a bases de datos no relacionales
  • Breve introducción a MongoDB
  • Colecciones y documentos BSON
  • Instalación y configuración básica de MongoDB
  • Iniciando servidor MongoDB localmente y especificando ubicación "dbpath"
  • Iniciando Mongo Shell como cliente
  • Introducción a Mongo Compass
  • Iniciando Mongo Compass para visualizar bases de datos y colecciones
  • Accediendo a Mongo Shell desde Mongo Compass
  • Validación y modelado de datos
  • ¿Qué es un ODM?
  • Ventajas e inconvenientes en el uso de ODMs
  • Utilización de un ODM (Mongoose)
  • Operaciones CRUD en proycto Express con MongoDB como base de datos
  • Dockerización de proyecto Express con MongoDB
  • Introducción a Mongo Atlas como solución cloud
  • Creación de una cuenta gratuita en MongoDB para usar Mongo Atlas
  • Creación y configuración básica de una base de datos MongoDB en Mongo Atlas
  • Conexión desde Express con Mongo DB Atlas
  • Añadiendo variables de entorno al proyecto para las conexiones y api keys
iconArrowDown
tema 7

Middlewares

  • ¿Qué es un Middleware y qué uso podemos darle?
  • Declarando Middlewares en un proyecto Express
  • Espeficicando el uso de un Middleware en una ruta de nuestro proyecto
  • Depuración de código middleware
  • Redirección de rutas
  • Buenas prácticas en la gestión de Middlewares
iconArrowDown
tema 8

Autenticación y autorización

  • Middlewares de autenticación
  • Introducción a JWT y a los Bearer Tokens
  • Configuración de Middleware y rutas para autenticación por JWT
  • Controlando los JWT emitidos por el cliente en las cabeceras
  • Controlando las sesiones de usuario y caducidad de los JWT
  • Añadiendo un sistema RBAC para controlar el acceso
  • Introducción al sistema de autenticación OAuth
  • Diferencias entre OAuth y OAuth2
  • Configuración de Middleware y rutas para autenticación por OAuth
  • Controlando las sesiones de usuario de OAuth
  • Persistiendo la información de sesiones en bases de datos
  • Introducción a la autenticación con redes sociales
  • Introducción a PassportJS como middleware de autenticación
  • Instalación de PassportJS y configuraciones esenciales
  • Estrategias de autenticación más interesantes de PassportJS
  • Permitiendo autenticación con PassportJS, JWT y Bearer Tokens
  • Permitiendo autenticación con PassportJS con OAuth y OAuth2
  • Permitiendo autenticación con PassportJS y Google OAuth2
  • Permitiendo autenticación con PassportJS y Github
  • Realizando pruebas de autenticación y protección de rutas
iconArrowDown
tema 9

Gestión de Errores desde el Servidor

  • Análisis de los códigos de estado HTTP en las respuestas
  • Códigos de estado de Error más comunes
  • ¿Cómo transmitir un error al cliente?
  • Gestión de errores 300
  • Gestión de errores 400
  • Gestión de errores 500
iconArrowDown
tema 10

Testing unitario e integración

  • Introducción a la redacción de tests unitarios y de integración en proyectos Node
  • ¿Qué es el coverage de un proyecto?
  • Librerías de testing más destacables
  • Configuración fundamental y técnicas para garantizar una buena cobertura de pruebas
  • Redacción de tests y ejecución
  • Análisis de resultados y fases de refactorización de código
  • ¿Cómo redactar pruebas de integración?
  • Intregrando nuestros tests en un proceso CI/CD
  • Consejos a la hora de trabajar con tests en un proyecto
iconArrowDown
tema 11

Eslint y Documentación de proyecto Node con Swagger

  • Documentando la puesta en marcha de un proyecto Node en un README.md
  • Introducción a EsLint y habilitando plugin de Visual Studio Code
  • Creación de un archivo de configuración EsLint a nivel de proyecto vía comando
  • Introducción a OpenAPI y a Swagger
  • Instalación y configuraciones esenciales
  • Documentación de modelos
  • Documentación de rutas y controladores
  • Añadiendo comentarios para mayor información
  • Script de generación de documentación Swagger y despliegue
  • Visualización de documentación vía web
  • Realizando pruebas de peticiones desde la documentación generada
iconArrowDown
tema 12

Consideraciones de seguridad en aplicaciones Node con Express

  • ¿Qué es CORS y por qué debemos configurarlo?
  • Configuración recomendada de CORS
  • Problemas derivados de una mala configuración de CORS
  • ¿Cómo habilitar HTTPS localmente?
  • Trabajando con certificados localmente
  • Desplegando en https un proyecto local
  • Módulos vulnerables y desactualizados en Node
  • Protección ante ataques de fuerza bruta
  • Protección ante ataques de denegación de servicios
  • Protección ante ataques de SQL Injection
  • Protección ante ataques de JSON Injection
  • Uso seguro de cookies y protección ante ataques CSRF
iconArrowDown
tema 13

Logs, health checks y monitorización

  • La importancia del buen uso de logs en aplicaciones web
  • Soluciones de Logs disponibles para Node y Express
  • Instalaciones y configuraciones en Express para gestión de logs
  • Herramientas más interesantes de análisis de logs disponibles en el mercado
  • Emisión de logs desde nuestra aplicación
  • Niveles de logs y buenas prácticas
  • Persistiendo logs en una tabla de la base de datos
  • ¿Qué son los health checks y por qué debemos realizarlos?
  • Creación de health checks para aplicaciones Node con Express
  • Introducción a la monitorización de aplicaciones web
  • Herramientas más interesantes para la monitorización de recursos y rendimiento
  • Habilitando la monitorización de una aplicación Node con Express
iconArrowDown
tema 14

Composición de vistas con HTML de plantillas

  • Introducción de plantillas, HandleBars y PUG
  • Integración Handlebars con Express
  • Integración de PUG con Express
  • Sintaxis PUG, creación de HTML con PUG
  • Javascript en plantillas PUG
  • Reutilización: mixins, bloques y herencia en PUG
  • Breve introducción y primeros pasos en Next, Nuxt y Nest como soluciones actuales
  • Ventajas del Server Side Rendering y su uso actual
  • Otras alternativas destacables en el mercado
iconArrowDown
tema 15

Comunicación en tiempo real

  • ¿Qué son los WebSockets y para qué sirven?
  • Introducción a Socket IO y sus fundamentos
  • Instalación y configuración de Socket IO
  • Implementación de websockets
  • Comprobando la comunicación bidireccional
iconArrowDown
tema 16

Builds y Despliegues

  • Analizando el proceso de builds y entornos en Node
  • Configuración y definición de carpeta para builds en Node
  • Creación de Scripts de builds para distintos entornos
  • Análisis de resultado de una build
  • Breve introducción a Vercel y creación de cuenta gratuita
  • Creación de un proyecto Node en Vercel
  • Asociando un proyecto Vercel a una rama de repositorio Github
  • Configuración y scripts para el despliegue de Node en Vercel
  • Configurando variables de entorno y api keys en el proyecto Render
  • Automatizando la integración (CI) desde Vercel
  • Comprobando despliegues y probando la aplicación Express en producción
  • Gestión de errores, rollbacks y redespliegues en Vercel
iconArrowDown
tema 17

Proyecto Final

  • Definición del proyecto
  • Identificación de requisitos
  • Implementación
  • Documentación y pruebas
  • Creación de proyecto en Vercel
  • Trabajando con variables de entorno en Vercel
  • Automatización de publicaciones y otras integraciones
  • Consejos finales del curso
iconArrowDown

Preguntas Frecuentes de Node JS

¿Cuáles son los Beneficios del curso Node JS?

accordionIcon
El curso de Node JS te proporcionará una comprensión profunda del entorno de ejecución de JavaScript en el lado del servidor, permitiéndote desarrollar aplicaciones escalables y eficientes. También aprenderás sobre la gestión de dependencias, usar frameworks populares y trabajar con bases de datos NoSQL, lo que incrementará la eficiencia de tus proyectos en la empresa.

¿El curso de Node JS se puede bonificar a través de FUNDAE?

accordionIcon
Sí, el curso de Node JS es susceptible de bonificación a través de FUNDAE. Esto permite a las empresas reducir el coste de la formación a través de los créditos de formación de los que disponen.

¿En qué modalidades se imparte el curso de Node JS?

accordionIcon
El curso de Node JS se imparte en modalidades online o en aula virtual personalizada. Estas modalidades permiten máxima flexibilidad y adaptabilidad a las necesidades específicas de cada empresa.

¿Qué habilidades desarrollaré con el curso de Node JS?

accordionIcon
Desarrollarás habilidades avanzadas en el desarrollo de aplicaciones web y móviles utilizando Node JS. Entre ellas, estarás capacitado para gestionar servidores, aplicar buenas prácticas de programación, optimizar el rendimiento de aplicaciones y usar tecnologías contemporáneas como Express, MongoDB, y WebSockets.

¿Cómo puedo inscribirme en el curso de Node JS?

accordionIcon
Puedes inscribirte en el curso de Node JS rellenando los formularios que aparecen en la web de Imagina Formación. Asegúrate de completar toda la información requerida para asegurar tu plaza en el curso.