This repository hosts the Backend Source Code for a distributed logistics system. It handles the complete lifecycle of transport requests, from order creation to real-time tracking and invoicing.
Key Architecture Features:
- Service Discovery: Netflix Eureka for dynamic service registration.
- API Gateway: Centralized entry point routing to internal microservices.
- Security: Integrated with Keycloak (OAuth2/OIDC) for identity management.
- Resilience: Circuit Breakers implemented for fault tolerance.
The solution is organized into independent microservices:
| Service Name | Description | Port |
|---|---|---|
| api-gateway | Central entry point and routing | 8080 |
| eureka-server | Service Registry | 8761 |
| ms-logistica | Core logistics logic | Var |
| ms-solicitudes-v2 | Transport request management | Var |
| ms-tracking-v2 | Real-time shipment tracking | Var |
| ms-facturacion-v2 | Invoicing and billing system | Var |
| config/keycloak | IAM Configuration | 9090 |
- Java JDK 17
- Maven 3.8+
- Docker & Docker Compose (Recommended)
-
Clone the repository:
git clone [https://github.com/ezequieldlv/logistics-microservices-platform.git](https://github.com/ezequieldlv/logistics-microservices-platform.git)
-
Infrastructure Setup: Start the supporting containers (Database, Keycloak, etc.) using Docker Compose:
docker-compose up -d
-
Build & Run Services: You can run each service individually via Maven or your IDE. Ensure
eureka-serverstarts first.cd transport/eureka-server mvn spring-boot:run
A complete Postman Collection (Sistema_Transportes_TPI.postman_collection.json) is included in the root directory to test all endpoints.
- Gateway URL:
http://localhost:8080 - Keycloak Auth:
http://localhost:9090
Developed by Ezequiel - Systems Engineering Student & Aspiring SRE.