Appearance
Arquitectura
PROXIMITI utiliza una arquitectura de microservicios con un patron de gateway BFF (Backend for Frontend).
| Capa | Tecnologia |
|---|---|
| Backend | Java 21 + Spring Boot 3.3.x |
| Autenticacion | Keycloak 24.0.5 |
| Base de datos | PostgreSQL 16 |
| Almacenamiento | MinIO (compatible con S3) |
| Web | React 18 + TypeScript + Vite |
| Movil | Flutter 3.x |
Servicios
| Servicio | Puerto | Proposito |
|---|---|---|
| ws-pprx-bff | 8090 | API Gateway / BFF |
| ws-pprx-centers | 8091 | Catalogo PUDO + capacidad |
| ws-pprx-shipments | 8092 | Ciclo de vida de expediciones + POD |
| ws-pprx-users | 8093 | Identidad de usuario + mapeo de centro |
| ws-pprx-notifications | 8094 | Despacho de notificaciones |
| ws-pprx-expired | 8095 | Caducidad de paquetes |
| ws-pprx-issues | 8096 | Seguimiento de incidencias |
| ws-pprx-adapter | 8086 | Puente de proveedores (Kanguro, Hublocker) |
Diagrama
Capa de Observabilidad
PROXIMITI incluye un stack de observabilidad completo para monitorizar la operacion:
| Componente | Tecnologia | Puerto | Funcion |
|---|---|---|---|
| Metricas | Prometheus | 9090 | Scraping de /actuator/prometheus cada 15s en los 9 servicios |
| Dashboards | Grafana | 3002 | Visualizacion de metricas RED, JVM, logs, trazas |
| Logs | Loki + Promtail | 3100 | Agregacion de logs con parsing de traceId y nivel |
| Trazas | Zipkin + Micrometer Brave | 9411 | Trazas distribuidas end-to-end (sampling 100% en dev) |
Todos los servicios exponen /actuator/prometheus para metricas y usan el formato de log estructurado: [traceId] [spanId] [X-Correlation-Id] LEVEL logger - message
El stack es opt-in via --profile observability en Docker Compose.