How mohd-azim/frieghtfit works
Haulwise is an India-focused freight-estimation and vehicle-fit planner. A shipper enters route and cargo details in the web form or API; the application obtains route distance and time, screens configured vehicle classes for fit, calculates a per-vehicle fare breakdown, and saves a quote snapshot for later review. Location suggestions are a separate Places-backed capability, while administrators can retrieve saved estimates and inspect vehicle configuration. The graph reflects README-documented capabilities where implementation excerpts were unavailable; those links use README evidence rather than implying unsampled code was inspected.
Main entry points: EstimateService.java Estimate orchestration · FareRestController.java Estimate API · FreightProperties.java Freight settings · FarePageController.java Web controller
Components 20
User experience
- Freight form
src/main/resources/templates/index.html - Web controller
src/main/java/com/tms/softmint/web/FarePageController.java - Estimate API
src/main/java/com/tms/softmint/web/FareRestController.java - Shipment form
src/main/java/com/tms/softmint/dto/EstimateForm.java - Estimate request
src/main/java/com/tms/softmint/dto/EstimateRequest.java - Estimate response
src/main/java/com/tms/softmint/dto/EstimateResponse.java - Admin page
src/main/java/com/tms/softmint/web/AdminPageController.java
Estimate workflow
- Estimate orchestration
src/main/java/com/tms/softmint/estimate/EstimateService.java - Vehicle fit
src/main/java/com/tms/softmint/estimate/EstimateService.java - Vehicle catalogue
src/main/java/com/tms/softmint/config/VehicleCatalog.java - Freight settings
src/main/java/com/tms/softmint/config/FreightProperties.java
Pricing model
- Fare calculator
src/main/java/com/tms/softmint/pricing/FareCalculator.java - Fuel estimator
src/main/java/com/tms/softmint/pricing/FuelEstimator.java
External services
- Google route lookup
src/main/java/com/tms/softmint/routing/GoogleRoutesClient.java - Places suggestions
src/main/java/com/tms/softmint/routing/GooglePlacesClient.java
Quote records
- Saved estimate
src/main/java/com/tms/softmint/estimate/FreightEstimate.java - Estimate repository
src/main/java/com/tms/softmint/estimate/FreightEstimateRepository.java - MySQL
src/main/resources/db/migration/V1__create_freight_estimates.sql
Other components
- Shipper
- Google Maps Platform
Connections 25
- Shipper → Freight form: enters shipment
README.md - Freight form → Web controller: submits form
src/main/java/com/tms/softmint/web/FarePageController.java - Web controller → Shipment form: binds input
src/main/java/com/tms/softmint/web/FarePageController.java - Web controller → Estimate orchestration: requests estimate
src/main/java/com/tms/softmint/web/FarePageController.java - Shipment form → Estimate request: converts to
src/main/java/com/tms/softmint/dto/EstimateForm.java - Estimate API → Estimate orchestration: requests estimate
src/main/java/com/tms/softmint/web/FareRestController.java - Estimate API → Places suggestions: requests suggestions
src/main/java/com/tms/softmint/web/FareRestController.java - Estimate API → Freight settings: lists vehicles
src/main/java/com/tms/softmint/web/FareRestController.java - Estimate orchestration → Vehicle fit: screens options
src/main/java/com/tms/softmint/estimate/EstimateService.java - Estimate orchestration → Freight settings: reads settings
src/main/java/com/tms/softmint/estimate/EstimateService.java - Estimate orchestration → Fare calculator: prices candidates
src/main/java/com/tms/softmint/estimate/EstimateService.java - Estimate orchestration → Google route lookup: gets route
src/main/java/com/tms/softmint/estimate/EstimateService.java - Vehicle fit → Vehicle catalogue: uses vehicle classes
README.md - Vehicle catalogue → Freight settings: configures classes
src/main/java/com/tms/softmint/config/VehicleCatalog.java - Fare calculator → Fuel estimator: estimates energy
src/main/java/com/tms/softmint/pricing/FareCalculator.java - Fare calculator → Freight settings: reads pricing rules
src/main/java/com/tms/softmint/pricing/FareCalculator.java - Google route lookup → Google Maps Platform: requests route matrix
src/main/java/com/tms/softmint/routing/GoogleRoutesClient.java - Places suggestions → Google Maps Platform: requests suggestions
src/main/java/com/tms/softmint/routing/GooglePlacesClient.java - Estimate orchestration → Estimate repository: saves and finds
src/main/java/com/tms/softmint/estimate/EstimateService.java - Estimate repository → Saved estimate: persists
src/main/java/com/tms/softmint/estimate/FreightEstimateRepository.java - Saved estimate → MySQL: stored in
README.md - Estimate orchestration → Estimate response: returns quote
src/main/java/com/tms/softmint/estimate/EstimateService.java - Estimate API → Estimate response: returns API result
src/main/java/com/tms/softmint/web/FareRestController.java - Admin page → Freight settings: reads settings
src/main/java/com/tms/softmint/web/AdminPageController.java - Shipper → Estimate API: uses estimate API
README.md