How atifhiba/delivery-tracker works
DeliveryTracker is a parcel-delivery and live-tracking application with customer, delivery-agent, and admin experiences. Its domain workflow covers account access, parcel registration and status history, delivery assignment and execution, then location, route, and ETA tracking. The sampled services show parcel and delivery state updates and geolocation persistence/calculation; the client tree identifies the role-based dashboards and tracking view. Wiring beyond the sampled excerpts is omitted where callers could not be verified.
Main entry points: App.jsx Role-based routing · GeolocService.java Location and ETA · LivraisonService.java Assignment and delivery · AuthService.java Registration and tokens
Components 33
Web client
- Role-based routing
client/src/App.jsx - Login and register
client/src/pages/auth - Customer tracking
client/src/pages/customer - Agent dashboard
client/src/pages/agent/AgentDashboard.jsx - Admin dashboard
client/src/pages/admin/AdminDashboard.jsx - Auth API client
client/src/services/authService.js - Parcel API client
client/src/services/parcelService.js - Delivery API client
client/src/services/deliveryService.js - Geolocation API client
client/src/services/geolocService.js - Live updates client
client/src/services/websocketService.js
Identity and users
- Authentication endpoints
Server/auth-service/src/main/java/com/deliverytracker/auth/controller/AuthController.java - User endpoints
Server/auth-service/src/main/java/com/deliverytracker/auth/controller/UserController.java - Registration and tokens
Server/auth-service/src/main/java/com/deliverytracker/auth/service/AuthService.java - User management
Server/auth-service/src/main/java/com/deliverytracker/auth/service/UserService.java - Users
Server/auth-service/src/main/java/com/deliverytracker/auth/repository/UserRepository.java - Refresh tokens
Server/auth-service/src/main/java/com/deliverytracker/auth/repository/RefreshTokenRepository.java
Parcel management
- Parcel endpoints
Server/colis-service/src/main/java/com/deliverytracker/colis/controller/ColisController.java - Parcel lifecycle
Server/colis-service/src/main/java/com/deliverytracker/colis/service/ColisService.java - Parcels
Server/colis-service/src/main/java/com/deliverytracker/colis/repository/ColisRepository.java - Status history
Server/colis-service/src/main/java/com/deliverytracker/colis/repository/ColisStatusHistoryRepository.java
Delivery operations
- Delivery endpoints
Server/livraison-service/src/main/java/com/deliverytracker/livraison/controller/LivraisonController.java - Assignment and delivery
Server/livraison-service/src/main/java/com/deliverytracker/livraison/service/LivraisonService.java - Agent availability
Server/livraison-service/src/main/java/com/deliverytracker/livraison/service/DeliveryAgentService.java - Deliveries
Server/livraison-service/src/main/java/com/deliverytracker/livraison/repository/LivraisonRepository.java - Delivery agents
Server/livraison-service/src/main/java/com/deliverytracker/livraison/repository/DeliveryAgentRepository.java
Live tracking
- Tracking endpoints
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/controller/GeolocController.java - Location and ETA
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/service/GeolocService.java - Route provider
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/service/MapsApiService.java - Agent locations
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/repository/AgentLocationRepository.java - Route cache
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/repository/RouteCacheRepository.java - ETA records
Server/geoloc-service/src/main/java/com/deliverytracker/geoloc/repository/ETACalculationRepository.java
Other components
- Customer, agent, admin
- OSRM routing service
Connections 24
- Customer, agent, admin → Role-based routing: uses
- Role-based routing → Login and register: routes to
- Role-based routing → Customer tracking: routes to
- Role-based routing → Agent dashboard: routes to
- Role-based routing → Admin dashboard: routes to
- Authentication endpoints → Registration and tokens: delegates to
- User endpoints → User management: delegates to
- Registration and tokens → Users: reads and writes
- Registration and tokens → Refresh tokens: uses
- User management → Users: reads and writes
- Parcel endpoints → Parcel lifecycle: delegates to
- Parcel lifecycle → Parcels: reads and writes
- Parcel lifecycle → Status history: records status
- Delivery endpoints → Assignment and delivery: delegates to
- Assignment and delivery → Deliveries: reads and writes
- Assignment and delivery → Agent availability: selects agent
- Agent availability → Delivery agents: reads and writes
- Assignment and delivery → Parcel API client: updates parcel
- Tracking endpoints → Location and ETA: delegates to
- Location and ETA → Agent locations: stores locations
- Location and ETA → Route cache: caches routes
- Location and ETA → ETA records: stores ETA
- Location and ETA → Route provider: requests route
- Route provider → OSRM routing service: requests route