feat: geolinx-core-service — Phase 2 backend implementation
GeoLinx Core Service — Phase 2 Backend Implementation
Modules livrés
| Module | Contenu |
|---|---|
common |
ApiResponse, exceptions, GlobalExceptionHandler, HaversineUtil |
auth |
User entity, JWT (service + filter), SecurityConfig, AuthService, AuthController |
vehicle |
Vehicle + Device entities, VehicleService (IMEI lookup + EhCache), VehicleController |
tracking |
Position (hypertable composite PK), GpsIngestService (pipeline complet), VehicleStatusService, WebSocket STOMP, GpsIngestController |
trip |
TripDetectionService (ignition ON/OFF + gap 30 min + Haversine), TripController |
alert |
AlertService (IO ID → type/sévérité mapping), AlertController |
driver |
Driver + Assignment, DriverService (assignation exclusive 1-1) |
dashboard |
DashboardService (EhCache 30s), DashboardController |
Points clés
- IDs :
Long(BIGSERIAL), pas UUID - Lookup IMEI via table
devices+@Cacheable("vehicleInfo") - Détection trajet basée sur ignition ON→OFF + gap 30 min configurable
- WebSocket STOMP sur
/topic/fleetet/topic/alerts - JWT stateless + inter-service via
X-Internal-Api-Key - Pas de Kafka, pas de Redis, pas de multi-tenancy
Checklist
-
46 fichiers Java poussés -
Build Maven vérifié -
Tests d'intégration -
Review technique