El proyecto se ha dividido en 4 módulos para facilitar la escalabilidad. A continuación se describen los módulos y sus funcionalidades principales:
El módulo "Core" contiene las clases y funciones principales del proyecto. Este módulo tiene dependencias con la mayoría de los otros módulos y proporciona la lógica central del proyecto.
El módulo "Common" contiene interfaces comunes que son utilizadas por varios módulos. Estas interfaces facilitan la comunicación y la integración entre los diferentes componentes del proyecto.
El módulo "Integrations" incluye una integración realizada con Feign. Esta integración se ha desarrollado para conectar con el módulo "Currencies", que es un módulo independiente con sus propias dependencias.
El módulo "Currencies" se centra en la gestión de divisas. Contiene la lógica y las funciones relacionadas con las operaciones de divisas. Este módulo ha sido diseñado de forma aislada, con dependencias independientes y se puede utilizar de manera independiente o integrado con otros módulos según sea necesario.
Sigue los pasos a continuación para ejecutar el proyecto:
-
Inicializa el archivo
docker-compose.yml
ubicado en la carpeta raíz del proyecto ejecutando el siguiente comando:docker-compose up -d
Esto iniciará los servicios y contenedores necesarios para el proyecto.
- Instala las dependencias del proyecto utilizando Maven. Ejecuta el siguiente comando en la carpeta raíz del proyecto:
mvn install
Esto descargará y configurará todas las dependencias necesarias para los módulos.
-
Inicia el módulo Currencies ejecutando la clase CurrenciesApp. Este módulo se encarga de establecer el servidor WireMock y configurar los stubs para las llamadas de la API simulada.
-
Finalmente, inicia el módulo Core ejecutando la clase RateServiceApp. Este módulo utilizará las dependencias de los otros módulos y ejecutará la lógica principal del proyecto.
Asegúrate de que todos los servicios y dependencias estén correctamente configurados y funcionando antes de ejecutar los módulos individuales.