Hace aproximadamente tres meses participé en un desafío que me dejó muy entusiasmada y por eso comparto aquí el proceso de desarrollo, las decisiones técnicas que tomé y algunos aprendizajes obtenidos en el camino
Acepto sugerencias de mejora
Spoiler: el proyecto está apenas en sus primeros pasos, queda mucho por desarrollar y lo que se comparte corresponde a lo construido en un reto de 3 a 4 días
Repositorio del proyecto: https://github.com/Layssaa/dwitch
El objetivo del desafío era crear una aplicación completa que incluyera frontend y backend, autenticación, persistencia de datos, observabilidad y mensajería. Todo ello debía implementarse en una arquitectura distribuida y documentada
Elección de la aplicación: decidí desarrollar una plataforma de transmisión en vivo. Soy consciente de que una transmisión en tiempo real completa requiere mucho más tiempo y complejidad, por eso opté por una simulación basada en mensajería que cumpliera con el alcance del desafío
Arquitectura diseñada: la solución se apoyó en un banco de datos PostgreSQL como núcleo de persistencia y en cuatro módulos principales: Auth para autenticación, Channels para CRUD de canales, User para CRUD de usuarios y Broadcast para la comunicación de transmisiones
En esta etapa inicial la comunicación en tiempo real se simuló mediante intercambio de mensajes, lo que difiere de una transmisión de video real pero permitió demostrar el flujo y la integración entre servicios
Implementación técnica: los microservicios se desarrollaron con Fastify por su sintaxis ágil y familiar para quienes conocen Express. Para mensajería se eligió RabbitMQ, lo que facilitó la comunicación asíncrona entre los módulos
Modelado de datos: la base de datos contempla la relación entre usuarios y canales, la relación entre canales y transmisiones y el vínculo de cada transmisión con su historial de logs. Esto permite monitorear el estado de cada emisión y mantener un registro de cambios
Herramientas usadas en la fase inicial: Draw.io para diagramas, Fastify para APIs, RabbitMQ para mensajería y protocolos HTTP y WebSocket para comunicaciones
Próximos pasos: en una siguiente entrega detallaré la implementación interna de cada módulo, la orquestación de mensajería y cómo se configuró la observabilidad del sistema
Sobre Q2BSTUDIO: somos una empresa de desarrollo de software a medida y aplicaciones a medida especializada en soluciones tecnológicas modernas. Ofrecemos servicios en inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio e implementación de Power BI. Diseñamos software a medida para empresas que necesitan transformar procesos con ia para empresas, agentes IA y arquitecturas distribuídas.
Qué podemos aportar a proyectos similares: consultoría en arquitectura distribuida, desarrollo de microservicios con buenas prácticas de observabilidad, integración de mensajería como RabbitMQ, despliegue en servicios cloud AWS y Azure, implantación de soluciones de inteligencia artificial para mejorar procesos y creación de dashboards con Power BI para inteligencia de negocio
Palabras clave para mejorar el posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi
Si quieres que Q2BSTUDIO colabore en la evolución de este prototipo o en el desarrollo de una solución a medida, contáctanos para diseñar una propuesta que incluya seguridad, escalabilidad y explotación de datos mediante inteligencia de negocio
Si tienen dudas o sugerencias de mejora, dejen sus comentarios y en la próxima publicación compartiré la implementación detallada de cada módulo y la configuración de la comunicación entre ellos