Saltar al contenido principal
Nest
Framework Backend

Formación corporativa en Nest

Framework Node.js para construir aplicaciones backend escalables.

Evidencias FUNDAE Activación guiada Evaluación con IA Itinerario a medida

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Resumen del itinerario en Nest

Para qué equipos

Equipos técnicos que incorporan Nest a su stack productivo o consolidan competencias antes de un proyecto crítico. Adaptamos el temario al nivel de partida y al stack acompañante.

Qué se trabaja

Lecciones aplicadas y ejercicios prácticos en Nest resueltos en el IDE del navegador, con corrección automática por IA y proyectos integradores revisados con rúbrica explícita.

Cómo se contrata

Propuesta concreta sobre teleformación, aula virtual o plan mixto. Sin coste de setup, sin permanencia, con evidencias FUNDAE exportables para la entidad organizadora.

Activación en 3 pasos

Diseñamos el itinerario, el alcance y el calendario según el nivel y el stack de tu equipo. Evidencias FUNDAE exportables, sin permanencia ni coste de setup.

  1. 1 Demo o llamada
    30 min con el fundador. Cuéntanos el stack, el nivel y el calendario.
  2. 2 Propuesta
    Itinerario y modalidad (teleformación, aula virtual o mixto) con evidencias FUNDAE exportables.
  3. 3 Tenant activo
    Tu equipo entra con SSO, asignaciones automáticas y panel admin completo.

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Qué incluye la formación

Toda la plataforma CertiDevs disponible para tu equipo durante el itinerario. Sin costes ocultos ni módulos premium.

Entornos de programación online, sin instalar nada en el equipo del alumno.
Evaluación con IA de cada ejercicio de código, proyecto y ensayo, con feedback y nota.
Certificado verificable con NIF del alumno y firma digital de CertiDevs.
Panel admin de empresa: alta masiva CSV, asignaciones, foros y encuestas.
Rol inspector FUNDAE con acceso de solo lectura a actividad y resultados.
Reportes exportables en Excel: accesos, progreso, completion y satisfacción.
Integración con tu LMS: LTI 1.1 + 1.3 Deep Linking y exportación SCORM 1.2.
SSO con tu Active Directory (OIDC, Microsoft Entra, Google Workspace).
White-label opcional: subdominio propio, logo y tema de tu marca.
Pruebas técnicas: mismos exámenes para evaluar candidatos en selección.
Foros y mensajería tutorial integrados, requisito FUNDAE cubierto de serie.
Soporte directo de nuestro equipo durante toda la formación.

Cursos disponibles en Nest

Cada curso se puede asignar de forma independiente o combinar en un plan formativo.

Curso completo NestJS

NestJS es el framework Node.js + TypeScript para backends empresariales tipados, modulares y testables, con arquitectura inspirada en Angular y Spring. En este curso completo construyes APIs REST con controladores, servicios e inyección de dependencias, modelas datos con TypeORM, validas entradas con DTOs y aseguras endpoints con JWT, guards e interceptors. Al terminar dominas el patrón enterprise de NestJS y entregas servicios mantenibles listos para producción en proyectos de larga vida.

Ver curso
Formación a medida NestJS API REST

Curso centrado en construir APIs REST empresariales con NestJS y Node.js sobre TypeScript estricto. Aprendes la arquitectura modular con controladores, servicios e inyección de dependencias, validas entradas con DTOs, proteges rutas con guards e interceptors, autenticas con JWT, documentas con OpenAPI y testeas con Jest y supertest. Al terminar entregas un backend tipado, observable y con cobertura, listo para integrarse en proyectos empresariales de larga vida.

Ver curso
Formación a medida NestJS: persistencia con TypeORM

Curso centrado en la capa de persistencia de backends NestJS con TypeORM sobre PostgreSQL o MySQL. Aprendes a modelar entidades y relaciones, aplicar el repository pattern, escribir consultas con QueryBuilder, gestionar migraciones y transacciones, implementar soft delete y auditoría, e integrar la persistencia con DTOs y testing real en Testcontainers. Al terminar dominas el ciclo completo de datos en NestJS y entregas módulos de persistencia mantenibles para proyectos empresariales.

Ver curso

Ver todos los cursos del catálogo

Stacks habituales que las empresas combinan en sus planes formativos junto a Nest.

Estructura del itinerario

Módulos, lecciones y ejercicios del itinerario

NestJS representa una evolución natural en el desarrollo de aplicaciones del lado del servidor con Node.js. Este framework combina la flexibilidad de JavaScript con la robustez de TypeScript, ofreciendo una arquitectura escalable inspirada en Angular que facilita la construcción de aplicaciones empresariales complejas.

¿Qué es NestJS?

NestJS es un framework progresivo para Node.js que utiliza TypeScript como lenguaje principal. Su diseño se basa en patrones arquitectónicos sólidos como la inyección de dependencias, los decoradores y la programación orientada a objetos, proporcionando una estructura clara y mantenible para proyectos de cualquier escala.

La filosofía de Nest se centra en crear aplicaciones altamente testeable, escalables y débilmente acopladas. Esto se logra mediante una arquitectura modular que separa claramente las responsabilidades y facilita tanto el desarrollo como el mantenimiento del código.

Arquitectura modular

El sistema de módulos constituye el núcleo organizativo de NestJS. Cada módulo encapsula un conjunto relacionado de funcionalidades, incluyendo controladores, servicios y otros componentes necesarios. Esta aproximación modular permite:

  • Reutilización de código entre diferentes partes de la aplicación
  • Separación clara de responsabilidades según el dominio del negocio
  • Facilidad para realizar pruebas unitarias e integración
  • Escalabilidad horizontal mediante la composición de módulos

Los módulos se definen utilizando el decorador @Module(), que específica los componentes que pertenecen a cada módulo y cómo se relacionan entre sí.

Decoradores y metadatos

Los decoradores son una característica fundamental que NestJS hereda de TypeScript. Estos proporcionan una forma elegante de añadir metadatos a clases, métodos y propiedades, permitiendo que el framework comprenda cómo debe comportarse cada componente.

@Controller('users')
export class UsersController {
  @Get()
  findAll(): string {
    return 'Esta acción devuelve todos los usuarios';
  }
}

En este ejemplo, @Controller() indica que la clase maneja peticiones HTTP, mientras que @Get() específica que el método responde a peticiones GET.

  • Introducción a Nest Lección
  • Introducción e instalación NestJS Lección
  • Comandos NestJS CLI Lección
  • Puzzle de comandos NestJS CLI Puzle
  • Test de introducción a NestJS Test

Modalidades de contratación

Elige la modalidad que mejor se adapte a tu organización. Sin permanencia ni coste de setup.

Teleformación

Acceso autónomo al itinerario en la plataforma: lecciones, vídeos, ejercicios evaluados por IA y proyecto integrador. Con tutorización y foro técnico.

Solicitar propuesta

Aula virtual privada

Sesiones en directo sobre cohorte cerrada del cliente. Práctica guiada, resolución de dudas, evaluación al cierre y evidencias exportables.

Solicitar propuesta

Plan mixto

Teleformación con sesiones en directo intercaladas. Equilibra autonomía del alumno con hitos guiados, revisión de proyectos y feedback síncrono.

Solicitar propuesta

Sobre Nest

Kamil Mysliwiec Desde 2017 Documentación oficial

NestJS es un framework progresivo de Node.js para construir aplicaciones backend escalables y mantenibles. Combina patrones de programación orientada a objetos, funcional y reactiva funcional, apoyándose en TypeScript moderno, ESM y decoradores para ofrecer una experiencia de desarrollo cercana a la de frameworks frontend como Angular.

Construido con TypeScript como lenguaje principal, NestJS se apoya en las versiones LTS de Node.js y aprovecha las últimas características del lenguaje: tipos estrictos, ESM nativo, satisfies, tipos condicionales y using para gestión de recursos. El resultado es un stack coherente y tipado de extremo a extremo que encaja tanto en APIs REST y GraphQL como en microservicios y proyectos enterprise.

flowchart LR
    Cliente[Cliente HTTP/WS] --> Guards[Guards]
    Guards --> Interceptors[Interceptors]
    Interceptors --> Pipes[Pipes - Validación]
    Pipes --> Controller[Controller]
    Controller --> Service[Service]
    Service --> Repo[Repositorio TypeORM / Prisma]
    Repo --> DB[(PostgreSQL / MySQL)]
    Controller --> Filters[Exception Filters]

Filosofía y arquitectura del framework

NestJS adopta una arquitectura modular que facilita la organización del código en aplicaciones complejas. El framework utiliza decoradores de TypeScript y un sistema de inyección de dependencias robusto, permitiendo crear aplicaciones altamente testeables y mantenibles.

La estructura basada en módulos permite dividir la aplicación en componentes reutilizables y bien definidos. Cada módulo encapsula un conjunto relacionado de funcionalidades, promoviendo la separación de responsabilidades y facilitando el desarrollo en equipo.

@Module({
  imports: [DatabaseModule],
  controllers: [UserController],
  providers: [UserService],
  exports: [UserService]
})
export class UserModule {}

Sistema de controladores y enrutamiento

Los controladores en NestJS manejan las peticiones HTTP entrantes y devuelven respuestas al cliente. Utilizan decoradores para definir rutas y métodos HTTP, proporcionando una sintaxis clara y expresiva para la definición de endpoints.

@Controller('users')
export class UserController {
  @Get()
  findAll(): string {
    return 'Esta acción devuelve todos los usuarios';
  }

  @Post()
  create(@Body() createUserDto: CreateUserDto) {
    return 'Esta acción añade un nuevo usuario';
  }
}

El enrutamiento se gestiona mediante decoradores que mapean métodos HTTP específicos a funciones del controlador. Esta aproximación permite crear APIs RESTful de manera intuitiva y mantiene el código organizado según las operaciones que realiza.

Inyección de dependencias y servicios

El sistema de inyección de dependencias es uno de los pilares fundamentales de NestJS. Los servicios se definen como providers que pueden ser inyectados en controladores u otros servicios, promoviendo la reutilización de código y facilitando las pruebas unitarias.

@Injectable()
export class UserService {
  private readonly users: User[] = [];

  create(user: User): User {
    this.users.push(user);
    return user;
  }

  findAll(): User[] {
    return this.users;
  }
}

Los providers pueden tener diferentes scopes de vida, desde singleton hasta request-scoped, permitiendo un control granular sobre la gestión de instancias y el estado de la aplicación.

Integración con bases de datos

NestJS se integra perfectamente con TypeORM y Prisma, los dos ORM más usados hoy en el ecosistema TypeScript. Esta integración permite trabajar con bases de datos relacionales (PostgreSQL, MySQL, MariaDB, SQL Server) y bases de datos no relacionales mediante una capa tipada. TypeORM aporta el patrón Active Record o Data Mapper con decoradores, mientras que Prisma genera un cliente tipado a partir de un esquema schema.prisma. En cualquiera de los dos casos se sigue respetando la separación servicio/repositorio.

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @Column()
  email: string;
}

El patrón Repository facilita la separación entre la lógica de negocio y el acceso a datos, permitiendo crear consultas complejas de manera type-safe y manteniendo la consistencia en toda la aplicación.

Validación y transformación de datos

El framework incluye un sistema de pipes que permite validar y transformar datos de entrada antes de que lleguen a los controladores. Utilizando bibliotecas como class-validator, es posible definir reglas de validación declarativas directamente en los DTOs (Data Transfer Objects).

export class CreateUserDto {
  @IsString()
  @IsNotEmpty()
  name: string;

  @IsEmail()
  email: string;

  @IsInt()
  @Min(18)
  age: number;
}

La serialización automática permite controlar qué datos se exponen en las respuestas de la API, proporcionando una capa adicional de seguridad y control sobre la información que se envía al cliente.

Middleware y interceptores

Los middlewares en NestJS funcionan de manera similar a Express.js, permitiendo ejecutar código antes de que la petición llegue al controlador. Son útiles para tareas como logging, autenticación, y modificación de peticiones.

Los interceptores proporcionan una funcionalidad más avanzada, permitiendo transformar tanto peticiones como respuestas, implementar caché, manejar timeouts, y ejecutar lógica adicional antes y después de la ejecución del método del controlador.

@Injectable()
export class LoggingInterceptor implements NestInterceptor {
  intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
    const now = Date.now();
    return next
      .handle()
      .pipe(
        tap(() => console.log(`Después... ${Date.now() - now}ms`))
      );
  }
}

Seguridad y autenticación

NestJS proporciona herramientas robustas para implementar autenticación y autorización. El framework se integra con Passport.js, permitiendo utilizar múltiples estrategias de autenticación como JWT, OAuth, y autenticación local.

Los guards actúan como middleware de autorización, determinando si una petición debe ser procesada por el controlador basándose en criterios como roles de usuario, permisos, o estado de autenticación.

@Injectable()
export class JwtAuthGuard extends AuthGuard('jwt') {}

@Controller('protected')
@UseGuards(JwtAuthGuard)
export class ProtectedController {
  @Get()
  getProtectedResource() {
    return 'Este recurso está protegido';
  }
}

Gestión de errores y logging

El manejo de errores en NestJS es centralizado y configurable. El framework proporciona filtros de excepción que capturan errores no manejados y los transforman en respuestas HTTP apropiadas.

El sistema de logging integrado permite registrar eventos importantes de la aplicación, con diferentes niveles de severidad y la posibilidad de configurar múltiples transportes para los logs.

Herramientas de desarrollo

El NestJS CLI es una herramienta de línea de comandos que acelera el desarrollo proporcionando generadores para controladores, servicios, módulos, y otros componentes. También incluye comandos para ejecutar, construir, y probar la aplicación.

nest generate controller users
nest generate service users
nest generate module users

La integración con TypeScript proporciona tipado estático, autocompletado inteligente, y detección temprana de errores, mejorando significativamente la experiencia de desarrollo y la calidad del código. Las últimas versiones de NestJS aprovechan ESM, tsconfig moderno y bundlers como SWC para acelerar la compilación y el arranque en frío. Jest y @nestjs/testing cubren los tests unitarios e integración, y hay soporte oficial para Pact, supertest y Testcontainers cuando se necesitan pruebas end-to-end con dependencias reales.

Escalabilidad y rendimiento

NestJS está diseñado para aplicaciones empresariales que requieren alta escalabilidad y rendimiento. El framework soporta microservicios, permitiendo dividir aplicaciones monolíticas en servicios más pequeños y especializados.

La arquitectura basada en módulos facilita el desarrollo en equipo y permite que diferentes partes de la aplicación evolucionen independientemente, reduciendo el acoplamiento y mejorando la mantenibilidad a largo plazo.

El soporte nativo para programación asíncrona y la integración con RxJS permiten manejar operaciones concurrentes de manera eficiente, optimizando el rendimiento de la aplicación en escenarios de alta carga.

¿Necesitas un itinerario completo?

Este curso puede formar parte de una carrera profesional que combine varias tecnologías. Explora nuestros itinerarios o te diseñamos uno a medida para tu equipo.

Plan formativo de Nest para tu equipo

Recibe una propuesta concreta: modalidad, alcance, calendario y evidencias FUNDAE exportables. Damos de alta a tu equipo, configuramos la plataforma con tus dominios y entregamos certificados verificables e informes para tu entidad organizadora. Sin coste de setup, sin permanencia.

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Formación en Nest: preguntas frecuentes

¿La formación en Nest para empresas es bonificable por FUNDAE?
Puede ser bonificable cuando la acción cumple los requisitos aplicables. La plataforma aporta evidencias técnicas: seguimiento de tiempos, registro de conexiones, foros, encuestas y certificados para que tu entidad organizadora o gestoría revise la documentación.
¿En qué modalidades se imparte la formación en Nest?
En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
¿Se adapta el temario de Nest al nivel de mi equipo?
Sí. Ajustamos el itinerario de Nest al nivel y al stack de tu equipo, con ejercicios evaluados por IA y certificado verificable. La activación corporativa se acuerda durante la fase de propuesta.
¿Cómo se evalúa a los alumnos?
Con ejercicios corregidos automáticamente por IA (test, puzle, código, proyecto y ensayo), detección de entregas generadas con IA y certificados verificables por URL.