Este proyecto es un sistema de microservicios basado en Spring Boot 3.2.7 con Java 17 y Spring WebFlux. El sistema incluye los siguientes microservicios:
- ms-cliente: Maneja la información de los clientes.
- ms-producto: Maneja la información de los productos financieros.
- oauth-server: Servidor de autenticación y autorización utilizando OAuth2.
- spring-cloud-gateway: Gateway que maneja el enrutamiento y autenticación centralizada.
- Java 17
- Maven 3.8.1+
- Docker (opcional, para despliegue de contenedores)
La arquitectura del proyecto está basada en microservicios y utiliza Spring Cloud Gateway para enrutamiento y balanceo de carga, y OAuth2 para la autenticación y autorización.
Microservicio encargado de gestionar la información de los clientes.
GET /clientes/buscar/{id}
: Obtiene la información de un cliente por ID.
Microservicio encargado de gestionar la información de los productos financieros.
GET /productos/{clienteId}
: Obtiene todos los productos de un cliente por su ID.
Servidor de autenticación y autorización utilizando OAuth2.
POST /oauth/token
: Obtiene un token de acceso.GET /oauth/authorize
: Autoriza una solicitud de acceso.
Gateway para manejar el enrutamiento y la autenticación centralizada.
GET /{service}/{endpoint}
: Enruta las solicitudes a los microservicios correspondientes.
Cada microservicio tiene documentación Swagger disponible en la siguiente URL:
http://{host}:{port}/swagger-ui.html
Para ejecutar cada microservicio, navega al directorio del microservicio y utiliza el siguiente comando de Maven:
mvn spring-boot:run