El mejor curso para aprender a diseñar e implementar APIs modernos

Diseño de APIs con Node.js

Años de experience en la industria comprimidos en un curso

Los APIs son el pilar de las aplicaciones modernas

El 99% de las aplicaciones que utilizas en tu día a día están construidas sobre APIs. No importa si el dispositivo es un móbil, servidor, smartwatch o desktop. Los APIs permiten que todos colaboren sin tener que conocer las especificaciones de cada uno.

Cada vez hay más dispositivos conectados a la internet. Esto representa una oportunidad enorme para los desarrolladores que sean capaces de crear APIs sobre los cuales apoyar sus aplicaciones.

Precisamente eso es lo que vas a aprender en este curso. Todas las técnicas de la ingeniería de software moderna para construir APIs seguros, confiables y robustos.

¿Qué voy a aprender?

El objetivo del curso es construir un API capaz de soportar cientos de miles de usuarios. Vamos a utilizar las prácticas más modernas para garantizar que el código sea robusto, extensible y seguro.

Vamos a comenzar desde cero, y poco a poco vamos a ir añadiendo funcionalidades al API. El curso esta compuesto por las siguientes secciones:

Fundamentos de un API

En esta sección vamos a crear la versión inicial de nuestro API. Vamos a entrar en detalle en:

  • Uso correcto de los verbos GET, PUT, POST, DELETE para interactuar con el API sobre el protocolo HTTP.
  • ¿Te confunden los status codes? ¿200? ¿201? ¿404? ¿501? Vamos a simplificarlos y entender porque son tan importantes.
  • Explorar a fondo el diseño del modelo request y response

Validación de data

¿Cómo hacemos para que la data que procesamos este limpia? ¿Cómo protegemos nuestro servidor de data que es incorrecta?

Si eres como yo, te aburre la validación de datos. Odio tener que revisar que cada parámetro cumpla con ciertas reglas. ¡Es muy fácil cometer errores de validación!

Te voy a enseñar un módulo fantástico que hace que la validación de datos sea simple y fácil. Me atrevo a decir que hasta divertida.

Implementación de un logger

¿Cuántas veces has utilizado console.log() para encontrar un error? Ese es el concepto básico de “loggear" información.

Ahora, ¿Qué ocurre cuando el API está en producción y hay miles de personas haciendo llamadas por minuto?

¿Cómo podemos analizar lo que esta pasando en el servidor? ¿Cómo podemos detectar errores y problemas?

La respuesta es un logger, el cuál nos da acceso a lo que esta ocurriendo en tiempo real y nos permite hacer auditorías para entender porque hubo una falla o problema. Te voy a enseñar como implementarlo en tus aplicaciones.

Autenticación básica con HTTP

¿Sabías que el protocolo HTTP soporta un protocolo básico de seguridad de usuario/contraseña?

Esta es la manera más básica de realizar autenticación y no requiere de una base de datos ni de cookies. ¡Es súper interesante!

Te voy a mostrar como implementarla para que aprendas a proteger tus rutas de manera rápida y sencilla.

Autenticación con JWT

¿Cómo hacemos para que el API reconozca quién esta haciendo la llamada? ¿Cómo limitamos el tiempo de acceso?

Te voy a enseñar la forma más moderna de autenticar usuarios utilizando JSON Web Tokens. Es una manera novedosa de autenticar, que ha sido posible gracias a los avances en el mundo de la criptografía.

Vas a aprender a crear tokens y anexarlos a todas las llamadas.

Ambientes de ejecución

¿Te ha pasado que tu aplicación funciona en tu computadora pero cuando la subes a un servidor no funciona?

Esto se debe a los ambientes de ejecución.

Te voy a enseñar las técnicas para diseñar aplicaciones que pueden ser ejecutadas en ambos ambientes sin tener que pasar años configurando archivos. La transición de un ambiente a otro, va a ser rápido y sencillo.

Integración con Base de datos

En esta etapa vamos a comenzar a persistir la data de nuestro API en MongoDB. Vamos a estudiar todas las implicaciones de tener una base de datos y como manejar operaciones asíncronas utilizando promesas y async/await.

Manejo de errores en un sistema de producción

¿Qué pasa cuando tu aplicación encuentra un error? ¿Se cae el proceso y tienes que ir manualmente a restaurar la aplicación? ¿Qué ocurre si hay miles de personas y servicios dependiendo de la estabilidad de tu sistema?

Los errores son una constante en el mundo del software. Sabemos que van a ocurrir. La pregunta es ¿Cuándo ocurran cómo los manejamos para garantizar la estabilidad de la aplicación?

Eso es precisamente lo que vamos a responder en esta sección. Vamos a implementar estrategias para manejar errores.

Tests de integración

Cuando haces cambios a tu aplicación ¿Cómo pruebas que estos cambios fueron correctos? ¿Pruebas manualmente que todo funciona? ¿Cuanto tiempo te toma esta tarea?

Te voy a enseñar a ahorrar una cantidad de tiempo ENORME utilizando tests de integración.

Olvídate de las pruebas manuales. Vamos a automatizar el proceso que garantiza que los cambios fueron exitosos, y que el sistema funciona.

Conoce al instructor

Estudié ingeniería de Software en la Universidad McGill en Canadá. En mi carrera he tenido la oportunidad de trabajar en un montón de problemas interesantes en campos como computación gráfica, visión artificial y computación paralela.

Actualmente desarrollo plataformas y sistemas operativos en la sede de Amazon en Toronto. Trabajar aquí me ha permitido explorar como crear productos estables y de alto rendimiento.

En mi tiempo libre me gusta correr y escalar. Si tienes una pregunta o comentario no dudes en contactarme - mi email es dan.appdelante@gmail.com

Preguntas frecuentes

¿Necesito saber JavaScript avanzado para tomar este curso?

¡No! Sin embargo, esperamos que domines los fundamentos de la programación (variables, condicionales, loops, funciones, objetos, etc). Explico todo muy detalladamente en el curso. No me verás instalar 1000 dependencias y copiar y pegar montones de código.

¿Qué es los más valioso que voy a aprender?

En este curso he condensado las lecciones que he aprendido a lo largo de mi carrera en compañías como Amazon. Te voy a enseñar conceptos y herramientas que he utilizado durante varios años para crear productos usados por miles de usuarios.

Vas a aprender toda una serie de conceptos y técnicas que te ayudarán a escribir APIs y servicios web de altísima calidad.

Al final de este curso vas a entender todos los requisitos que son necesarios para tener código en producción que sea seguro, confiable y robusto.

¿Los pagos en Appdelante son seguros? ¿Cómo se que no me vas a clonar la tarjeta/Paypal?

Los pagos de Appdelante son procesados por Shopify. En ningún momento nosotros tenemos acceso a los detalles de tu tarjeta o cuenta, nostros solo esperamos la confirmación de que el pago fue exitoso.

¿Qué pasa si no me gusta el curso?

La pólitica de Appdelante es que si no te gusta el curso, te devolvemos tu dinero.

¿Qué temas NO cubre este curso?

Este curso no cubre aspectos opearcionales como hosting, deployments y mantenimiento de un servicio. El enfoque es puramente en como escribir código de producción.

¿Listo para empezar?

Ir al curso