Diseño de APIs con Node.js | Appdelante
🔥 Nuevo Curso: Programa Snake desde cero con JavaScript 🔥
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

Los APIs se han convertido en la pieza fundamental de todas las aplicaciones. Detrás de cada aplicación existe un API que permite guadar, obtener y manipular información.

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 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.

📜 Configuración y uso 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.

¿Quién es el profesor?

Ingeniero de software

Daniel Macario

Llevo 4 años desarrollando productos para Amazon en Toronto, Canadá. Mi enfoque ha sido principalmente en servicios, pero también he trabajado en el desarrollo de sistemas operativos. Actualmente soy parte de un equipo responsable de un producto de subscripción orientado a niños llamado FreeTime Unlimited. En mi día a día trabajo mucho con Java, pero mi lenguaje favorito es JavaScript.

Además de la programación tengo una gran pasión por el deporte. He corrido 5 maratones y soy un adicto de la escalada en roca.

¿Listo para empezar?

Acceso a todos los cursos
(Valor de todos los cursos)
  • Un solo pago (No se renueva automáticamente)
  • Acceso inmediato a todos nuestros cursos por un año
  • Acceso a todos los cursos que lancemos sin costo adicional
  • Prioridad de respuesta a preguntas y dudas
  • Nuestros cursos te especializan en Node, React y JavaScript

¿Tienes dudas? 👉Contáctame

Acceso a este curso
  • Un solo pago. Acceso al curso de por vida
  • Aprende las mejores prácticas del desarrollo de APIs
  • 8 horas de videos cortos y concisos
  • Acceso inmediato a los videos y código de la aplicación
  • Utiliza el proyecto final para tu portafolio
  • Curso al día. Actualizamos los videos cuando las dependencias cambian
  • Soporte por email con el profesor en caso de que tengas cualquier pregunta

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 sé que no me van a clonar la tarjeta/Paypal?

Los pagos de Appdelante son procesados por Shopify. Nosotros no tenemos acceso al número de tu tarjeta de crédito o cuenta de PayPal.

¿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.

Chat con nosotros