How martinherreraramirez/trackpredict-secure works
TrackPredict Secure monitors security fleets, ingesting GPS positions and presenting live fleet status, alerts, trip management, ETA and route-anomaly predictions, model metrics, administration, and audit history. The main path is simulated device → authenticated Java ingestion and business rules → PostgreSQL/PostGIS; React users access Java APIs, while Java alone calls the private FastAPI analytics service. The graph also preserves registration, trip planning, geofences, retraining, and role-based access. Internal call links are shown only where excerpts or the source index support them; documented service boundaries use README evidence.
Main entry points: Dashboard.tsx Fleet dashboard · api.ts API client · ViajeAnalisisService.java Trip analysis · main.py FastAPI analytics
Components 24
Clients and UI
- Session shell
frontend/src/App.tsx - Fleet dashboard
frontend/src/components/Dashboard.tsx - API client
frontend/src/api.ts - Trip panel
frontend/src/components/PanelViajes.tsx - Model panel
frontend/src/components/PanelModelos.tsx - Role permissions
frontend/src/permisos.ts
Java business API
- Auth endpoints
backend-java/src/main/java/com/trackpredict/web/AuthController.java - Trip endpoints
backend-java/src/main/java/com/trackpredict/web/ViajeController.java - Prediction endpoints
backend-java/src/main/java/com/trackpredict/web/PrediccionController.java - Position ingestion
backend-java/src/main/java/com/trackpredict/web/PosicionController.java - Alert rules
backend-java/src/main/java/com/trackpredict/service/AlertaService.java - Trip analysis
backend-java/src/main/java/com/trackpredict/service/ViajeAnalisisService.java - Model retraining
backend-java/src/main/java/com/trackpredict/service/ReentrenamientoService.java - Analytics client
backend-java/src/main/java/com/trackpredict/service/AnalyticsClient.java
Fleet state
- Geospatial queries
backend-java/src/main/java/com/trackpredict/repository/GeoRepository.java - PostgreSQL/PostGIS
Predictive analytics
- FastAPI analytics
analytics-python/app/main.py - Route geometry
analytics-python/app/geo.py - Synthetic data
analytics-python/app/synthetic.py
Identity and audit
- Audit service
backend-java/src/main/java/com/trackpredict/service/AuditoriaService.java - Tenant registration
backend-java/src/main/java/com/trackpredict/service/RegistroService.java - JWT service
backend-java/src/main/java/com/trackpredict/security/JwtService.java
Other components
- Fleet user
- GPS simulator
simulator/simulator.py
Connections 24
- Fleet user → Session shell: uses
README.md - Session shell → Fleet dashboard: opens
frontend/src/App.tsx - Fleet dashboard → API client: requests data
frontend/src/components/Dashboard.tsx - Fleet dashboard → Trip panel: renders
frontend/src/components/Dashboard.tsx - Fleet dashboard → Model panel: renders
frontend/src/components/Dashboard.tsx - Fleet dashboard → Role permissions: checks access
frontend/src/components/Dashboard.tsx - API client → Auth endpoints: calls auth API
frontend/src/api.ts - API client → Trip endpoints: calls trip API
frontend/src/api.ts - API client → Prediction endpoints: calls prediction API
frontend/src/api.ts - GPS simulator → Position ingestion: sends GPS
README.md - Position ingestion → Alert rules: evaluates positions
- Trip endpoints → Trip analysis: requests analysis
backend-java/src/main/java/com/trackpredict/web/ViajeController.java - Trip analysis → Analytics client: requests predictions
backend-java/src/main/java/com/trackpredict/service/ViajeAnalisisService.java - Analytics client → FastAPI analytics: REST calls
README.md - FastAPI analytics → Route geometry: uses geometry
analytics-python/app/main.py - FastAPI analytics → Synthetic data: uses synthetic data
analytics-python/app/main.py - Trip analysis → Geospatial queries: reads route geometry
backend-java/src/main/java/com/trackpredict/service/ViajeAnalisisService.java - Alert rules → Geospatial queries: checks geofence
backend-java/src/main/java/com/trackpredict/service/AlertaService.java - Geospatial queries → PostgreSQL/PostGIS: queries spatial data
backend-java/src/main/java/com/trackpredict/repository/GeoRepository.java - Tenant registration → Audit service: records registration
backend-java/src/main/java/com/trackpredict/service/RegistroService.java - Tenant registration → PostgreSQL/PostGIS: creates tenant
backend-java/src/main/java/com/trackpredict/service/RegistroService.java - Audit service → PostgreSQL/PostGIS: writes and reads
backend-java/src/main/java/com/trackpredict/service/AuditoriaService.java - Auth endpoints → JWT service: issues tokens
backend-java/src/main/java/com/trackpredict/web/AuthController.java - Model retraining → Analytics client: requests retraining
backend-java/src/main/java/com/trackpredict/service/ReentrenamientoService.java