Descripción:
CashCloud fue un proyecto desafiante donde pude aplicar conceptos que había estado aprendiendo durante un tiempo. El aspecto técnico clave del proyecto es la implementación de una arquitectura orientada a eventos (EDA). Esta arquitectura permite una comunicación ágil y reactiva entre los componentes, favoreciendo la escalabilidad y la resiliencia del sistema en entornos distribuido.
CashCloud no solo representa la implementación de una billetera digital innovadora, sino también un ejercicio práctico de los conceptos clave de la arquitectura orientada a eventos, capaz de adaptarse y responder eficazmente a una variedad de requerimientos y condiciones operativas.
Instalación y Uso:
Tecnologías Utilizadas:
El desarrollo de CashCloud se basó en el sólido ecosistema de Java y Spring Framework, aprovechando su potencial para la construcción de aplicaciones robustas y escalables.
Se utilizaron diferentes módulos de Spring framework tales como:
Spring Cloud: facilita la construcción de sistemas distribuidos proporcionan herramientas y componentes que implemtan patrones que solucionan problemas comunes en este ambito.
Spring Security: se empleó para garantizar la seguridad de la aplicación, ofreciendo funcionalidades de autenticación, autorización y protección contra vulnerabilidades comunes, asegurando un entorno seguro para los usuarios y los datos de la aplicación
Keycloak: Se integró Keycloak como servicio de gestión de identidades y accesos (IAM), proporcionando una solución robusta para la autenticación y autorización de usuarios.
Zipkin: Se utilizó Zipkin para la recolección y visualización de trazas, lo que permitió un monitoreo efectivo del rendimiento y la depuración de problemas en el sistema distribuido.
Docker y Kubernetes: Se emplearon Docker y Kubernetes para garantizar la portabilidad y facilitar el despliegue del sistema.
RabbitMQ: Se utilizó RabbitMQ como broker de mensajería para dar soporte a la arquitectura orientada a eventos (EDA), permitiendo una comunicación asíncrona y fiable entre los diferentes componentes del sistema. hacer video del registro de un usuairo mostrando todos los ms que estab susciptos a ese evento y las operaciones que realizan en base a eso.
Demostraciones y Ejemplos:
Incluye enlaces a demostraciones en vivo o capturas de pantalla que muestren el proyecto en acción. Esto ayudará a los revisores a comprender rápidamente lo que has logrado.
Documentación Adicional:
link al diagrama de la arquitectura del sistema: https://miro.com/app/board/uXjVNEA7o5s=/?moveToWidget=3458764583805044826&cot=14
diagrama al caso de uso de registro de un nuevo usuario: https://miro.com/app/board/uXjVNEA7o5s=/?moveToWidget=3458764584103438171&cot=14
Contacto:
¡Gracias por revisar CashCloud!
Estoy totalmente abierto para discutir cualquier aspecto del proyecto o para explorar oportunidades de colaboración en futuros proyectos. Si tienes preguntas, sugerencias o simplemente quieres conectarte, no dudes en ponerte en contacto conmigo a través de los siguientes medios:
Correo electrónico: [email protected]