Portafolio Emanuel CisternaEmanuel Cisterna
Microservicio de notificaciones

Microservicio de notificaciones

microservicio
Publicado en: Agosto 2023

Introducción

En el desarrollo moderno de aplicaciones, las notificaciones dejaron de ser un simple canal de alertas. Por eso creamos Asistente de Notificaciones, un servicio avanzado que no solo envía mensajes, sino que también permite ejecutar acciones específicas y enriquecer la experiencia del usuario directamente desde el front-end que lo utilice. Este sistema está pensado como una herramienta modular, escalable y segura, capaz de integrarse fácilmente a distintos proyectos y adaptarse a las necesidades particulares de cada uno.

Las necesidades del cliente

El cliente requería una solución que fuera mucho más allá del envío clásico de notificaciones push. Necesitaba un sistema que permitiera comunicar información relevante a los usuarios de forma dinámica, segura y controlada, con la capacidad de ejecutar acciones específicas al recibir un mensaje. Además, era imprescindible contar con un sistema de autenticación robusto que garantizara que solo usuarios verificados pudieran acceder a las funcionalidades del servicio. El cliente también buscaba una solución confiable que asegurara la entrega puntual y precisa de cada notificación, incluso en escenarios de alto volumen o múltiples dispositivos conectados.

Mi solución

Para resolver este desafío, desarrollé Asistente de Notificaciones, un servicio backend capaz de enviar tanto notificaciones push simples como mensajes enriquecidos que activan acciones concretas en el front-end receptor. Esto permite a las aplicaciones que lo integren no solo informar al usuario, sino también modificar comportamientos de la interfaz, mostrar contenido contextual o disparar funcionalidades específicas según el mensaje recibido. La seguridad fue una prioridad desde el inicio. Por eso implementé OAuth como sistema de autenticación, permitiendo que solo usuarios autorizados puedan acceder a las rutas del servicio, manteniendo los datos protegidos y controlando el flujo de mensajes. Para la mensajería, integré Firebase Cloud Messaging, un sistema confiable, eficiente y ampliamente probado, que se encarga de que cada notificación llegue al dispositivo correcto, sin pérdida ni retrasos. Todo el servicio fue construido con tecnologías modernas, orientado a la escalabilidad y con una arquitectura sólida, lista para crecer junto con los proyectos que lo integren. Sin embargo, ningún desarrollo está completo sin una buena anécdota: durante las primeras pruebas internas, cometimos un pequeño error que desencadenó un bucle infinito de envío de notificaciones. Los usuarios de test comenzaron a recibir cientos de notificaciones idénticas en cuestión de segundos, hasta el punto en que sus dispositivos se volvieron inusables, vibrando sin parar hasta que detuvimos manualmente el servidor. Fue caótico, pero también una experiencia invaluable que nos recordó la importancia de implementar validaciones sólidas y mecanismos de control desde el inicio.

Content image 1
Content image 2

Información Técnica

Consulta a la IA sobre este proyecto
Podés hacer una pregunta específica sobre Microservicio de notificaciones y la IA te responderá.

Sugerencias