Servicios rest con Node.js mongodb y heroku

REST, Node.js, Express, MongoDB, HATEOAS, JWT, CORS, Heroku y Postman)

Desarrollo del back-end (Api REST) usando MongoDB, Express.js y Node.js; implementación de seguridad usando JWT y CORS. El despliegue del servicio se realizará en Heroku y pruebas en Postman y JSONLint. Se desarrollará un caso práctico empresarial incluyendo depuración y monitoreo.

Categoría: Etiquetas: , , , , , , , , ,
  • Descripción
  • Sesiones

Descripción

CURSO

Servicios rest con Node.js, mongodb y heroku
REST, Node.js, Express, MongoDB, HATEOAS, JWT, CORS, Heroku y Postman)

RESUMEN

Desarrollo del back-end (Api REST) usando MongoDB, Express.js y Node.js; implementación de seguridad usando JWT y CORS. El despliegue del servicio se realizará en Heroku y pruebas en Postman y JSONLint. Se desarrollará un caso práctico empresarial incluyendo depuración y monitoreo.

CAPACIDAD

Al culminar el curso, el alumno contará con conocimientos teóricos y prácticos para desarrollar servicios REST usando MongoDB, Express.js y Node.js, implementación de seguridad usando JWT y CORS y despliegue en Cloud (Heroku).

REQUISITOS
  • Conocimientos básicos de JavaScript.
  • Conocimientos básicos de HTML y CSS.
  • Conocimientos de servicios REST.
  • Conocimientos de arquitecturas (fullstack: back-end y front-end).
METODOLOGÍA
  • Exposición de aspectos teóricos.
  • Desarrollo de casos prácticos.
  • Compartir experiencias de los participantes (instructor y alumnos).
  • Discusión de casos empresariales (casuísticas).
TECNOLOGÍAS Y RECURSOS
  • Servicios REST(RESTful) y HATEOAS.
  • MongoDB, Express.js y Node.js.
  • MD5, SHA1, JWT y CORS.
  • Cloud, PaaS y Heroku.
  • Postman y JSONLint.
Sesión 01:

INTRODUCCIÓN A SERVICIOS REST Y AMBIENTE DE DESARROLLO

  • Introducción a servicios web REST (Representational State Transfer)
  • Principales métodos HTTP (get, put, post, delete y options)
  • Principio HATEOAS (estado de madurez de un servicio)
  • Introducción a Node.js, instalación y validación de versión (node --version)
  • Introducción al gestor de paquetes npm
  • Instalación de npm, validación de versión (npm --version) y actualización
    de ser requerido (npm install npm@latest –g).
Sesión 02:

INTRODUCCIÓN A EXPRESS.JS

  • ¿Qué es Express.js (Express)?, análisis comparativo con LoopBack, Meteor, Restify, Sails y Hapi.
  • Creación del proyecto ApiREST.
  • Creación del package.json (npm init).
  • Instalación de Express (npm install express).
  • Creando un servicio REST con data en memoria (Service.js).
  • (usando require: express, body-parser, router, server y port).
  • Ejecución(node Service.js) y prueba del servicio (http://localhost:8084/api).
Sesión 03:

INTRODUCCIÓN A MONGODB

  • Introducción a base de datos NoSQL.
  • ¿Qué es MongoDB?, análisis comparativo con Cassandra y Redis
  • Instalación de MongoDB (Compass Community).
  • Creación de base de datos
  • Creación de colecciones (documentos, agregaciones e índices)
  • Manipulando documentos (inserción, edición, duplicado y eliminación), aplicando ordenamiento y filtros.
Sesión 04:

INTEGRANDO EXPRESS.JS CON MONGODB

  • Creación del proyecto de integración.
  • Instalando mongoose (npm install mongoose) y módulos adicionales (npm i --save method-override).
  • Creación del model (require: mongoose, schema y model).
  • Creación del controller (require: mongoose y model).
  • Creación de una función de listado (exports, function).
  • Conectándose a mongose (App.js), ejecutar y probar el servicio (Postman).
Sesión 05:

IMPLEMENTADO OPERACIONES CRUD

  • Creación del proyecto CRUD.
  • Creación del model (asociado a dos o más esquemas relacionados).
  • Creación del controller con las funciones para listar(get), agregar (save),
  • actualizar (save), eliminar (remove), buscar por código (findById).
  • Registrar las rutas (router) en el servicio.
  • Ejecutar el servicio.
  • Pruebas del servicio (Postman).
Sesión 06:

IMPLEMENTADO BÚSQUEDAS, ORDENAMIENTOS Y PAGINACIÓN

  • Búsquedas por criterios múltiples (find) y uso de expresiones ($regex).
  • Implementar ordenamientos (sort).
  • Implementar paginación.
  • Análisis comparativo de HATEOAS (HTTP/RPC, RESTful y HATEOAS).
  • Implementar HATEOAS (Hypermedia API).
  • Pruebas del servicio (Postman).
Sesión 07:

IMPLEMENTADO CARGA DE ARCHIVOS

  • Configurando express-fileupload.
  • Carga de archivos simples (basic file).
  • Carga de archivos múltiples (multi-file).
  • Implementando validaciones (tamaño y tipo de archivo).
  • Gestión de errores y excepciones.
  • Pruebas del servicio (Postman).
Sesión 08:

IMPLEMENTADO SEGURIDAD CON JWT Y CORS

  • ¿Qué es JSON Web Token - JWT?.
  • Estructura de JWT (header, payload y signature).
  • Configuración de control de acceso (Login).
  • Configuración de servicios con JWT (uso de middleware para verificar JWT válido).
  • Configuración de Cross-Origin Requests (CORS).
  • Pruebas del servicio (Postman).
Sesión 09:

DESPLIEGUE DEL SERVICIO EN CLOUD (HEROKU)

  • Introducción a plataformas de servicios (PaaS).
  • Principales PaaS (análisis comparativo).
  • Pruebas del servicio (Postman).
  • Preparación y configuración de la aplicación.
  • Despliegue de la aplicación en Heroku.
  • Pruebas del servicio (Postman).
Sesión 10:

REPASO Y EVALUACIÓN

  • Repaso general de un caso práctico de los temas desarrollados.
  • Evaluación teórica y solución por parte del instructor.
  • Evaluación práctica y solución por parte del instructor.
  • Lecciones aprendidas.
  • Recomendaciones y próximos temas a investigar.
  • Cierre del curso.