Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Dirigido a desarrolladores que ya dominan los fundamentos de Node.js y desean construir APIs REST de producción con Express, este curso de 8 horas aborda el ciclo completo de desarrollo de una API robusta: desde la arquitectura en capas y la integración de bases de datos con ODM/ORM, hasta la autenticación con JWT, la validación de entradas, el manejo centralizado de errores y la gestión segura de variables de entorno. Al finalizar, el participante será capaz de entregar una API Express estructurada, protegida y lista para integrarse en un entorno de equipo real.
Arquitectura en capas de una API REST con Express. El curso arranca estableciendo el modelo de capas router → controller → service → model como eje central de toda la formación. Se estudia el rol de cada capa, los contratos entre ellas y las consecuencias prácticas de mezclar responsabilidades. A partir de este esquema se construye el proyecto de referencia que evolucionará a lo largo de las sesiones.
Persistencia con ODM/ORM: Mongoose y Sequelize. Se integra una base de datos en el proyecto mediante Mongoose (MongoDB) o Sequelize (SQL), eligiendo el adaptador según el contexto del ejercicio. Se implementan las cuatro operaciones CRUD prestando especial atención al manejo de errores asíncronos con async/await y bloques try/catch, y se discute cómo la capa model debe aislar al resto de la aplicación de los detalles del driver de base de datos.
Asincronía avanzada y depuración. Con la persistencia en marcha se examinan los patrones de error más frecuentes en código asíncrono: Promises que nunca se resuelven, errores silenciados por un catch vacío y race conditions básicas. Mediante fragmentos de código deliberadamente rotos, los participantes practican la localización de la causa raíz y la aplicación de la corrección, reforzando el razonamiento sobre el event loop y la cola de microtareas.
Validación de datos de entrada. Se comparan la validación manual y las librerías especializadas (Joi, Zod, express-validator), analizando verbosidad, mantenibilidad, integración con TypeScript y coste de adopción. Tras la comparativa se selecciona y aplica una estrategia al proyecto de referencia, ubicando la lógica de validación como middleware previo al controller.
Autenticación con JWT y gestión de rutas. Se integra un middleware de autenticación basado en JSON Web Tokens. Se estudia la estructura del token, la firma, la verificación y la propagación del payload al contexto de la solicitud. La configuración del router separa de forma explícita las rutas públicas de las protegidas, y se analizan los errores de autenticación más habituales (token caducado, firma inválida, header ausente).
Manejo centralizado de errores y respuestas uniformes. Se diseña el middleware de error de Express que ocupa el último lugar de la cadena: distingue errores operacionales (esperados, recuperables) de errores de programación (inesperados, que deben registrarse y alertar), y devuelve códigos HTTP semánticamente correctos. Paralelamente se define un formato de respuesta único —tanto para éxito como para error— y se encapsula en una función o clase helper que todos los controllers usan, garantizando consistencia en toda la API.
Gestión segura de variables de entorno. El bloque de cierre aborda la configuración de dotenv, la separación de archivos .env por entorno, las buenas prácticas de .gitignore y la provisión de un archivo .env.example como contrato de configuración para el equipo. Se revisan los riesgos concretos de exponer credenciales en el repositorio y las medidas de mitigación disponibles.
.gitignore).