Smart Transport Operations Platform
A centralized platform to digitize and manage the complete lifecycle of transport operations β from vehicle and driver management to dispatching, maintenance, and expense tracking.
- Objective
- Target Users
- Features
- Tech Stack
- Business Rules
- Database Entities
- Example Workflow
- Setup
- Build Priority
Replace manual spreadsheets and logbooks with a single system that gives logistics teams real-time visibility into their fleet, enforces business rules automatically, and tracks operational costs end-to-end.
| Role | Icon | Responsibility |
|---|---|---|
| Fleet Manager | π¨βπΌ | Manage vehicles, maintenance, and fleet lifecycle |
| Dispatcher | π‘ | Create and dispatch trips, monitor active deliveries |
| Safety Officer | π‘οΈ | Monitor license validity, driver compliance, safety scores |
| Financial Analyst | π° | Review fuel, maintenance costs, and vehicle ROI |
- Secure login using email and password
- Role-Based Access Control (RBAC)
- Registration creates a new organization automatically
- Multi-tenant data isolation via
organization_id
- Fleet Manager β KPI cards (Total Vehicles, Active, Available, In Shop), Fleet Utilization %, Pie charts for vehicle & trip status
- Dispatcher β Profile card, My Trips metrics, Trip History table, Trip Status pie chart
- Safety Officer β Profile card, Driver Safety table with license expiry/scores, Active Maintenance, Vehicle Overview
- Financial Analyst β Profile card, Fleet Utilization with links to Finance & Reports
- Master list with Registration Number (unique), Name, Type, Max Load Capacity, Odometer, Acquisition Cost, Status
- Status values:
AvailableΒ·On TripΒ·In ShopΒ·Retired - Full CRUD with org-scoped access
- Profiles: Name, License Number, Category, Expiry Date, Contact, Safety Score, Status
- Status values:
AvailableΒ·On TripΒ·Off DutyΒ·Suspended - License expiry highlighting for Safety Officers
- Create trips with source, destination, vehicle, driver, cargo weight, planned distance
- Lifecycle:
DraftβDispatchedβCompletedβCancelled - Fleet Manager can assign trips to Dispatchers
- Create maintenance records per vehicle
- Vehicle auto-switches to In Shop on active maintenance
- Closing maintenance restores vehicle to Available
- Removed from dispatch selection while in shop
- Record fuel logs (liters, cost, date)
- Record other expenses (tolls, maintenance, etc.)
- Auto-compute total operational cost per vehicle
- Fuel Efficiency (Distance / Fuel)
- Fleet Utilization %
- Operational Cost per vehicle
- Vehicle ROI:
(Revenue - (Maintenance + Fuel)) / Acquisition Cost - CSV export
| Layer | Technology |
|---|---|
| Backend | |
| Frontend | |
| Database | |
| Auth | JWT (JSON Web Tokens) |
| Charts | Recharts |
Click to expand β 10 mandatory rules
| # | Rule |
|---|---|
| 1 | Vehicle registration number must be unique |
| 2 | Retired or In Shop vehicles must never appear in dispatch selection |
| 3 | Drivers with expired licenses or Suspended status cannot be assigned to trips |
| 4 | A driver or vehicle already On Trip cannot be assigned to another trip |
| 5 | Cargo Weight must not exceed the vehicle's max load capacity |
| 6 | Dispatching a trip β vehicle & driver status β On Trip |
| 7 | Completing a trip β vehicle & driver status β Available |
| 8 | Cancelling a dispatched trip β restores vehicle & driver to Available |
| 9 | Creating active maintenance β vehicle status β In Shop |
| 10 | Closing maintenance β restores vehicle to Available (unless retired) |
Users Β· Organizations Β· Vehicles Β· Drivers Β· Trips
Maintenance Logs Β· Fuel Logs Β· Expenses
Every data entity is scoped by
organization_idfor multi-tenant isolation.
1. π Register vehicle Van-05 (capacity 500 kg) β Status: Available
2. π€ Register driver Alex (valid license) β Status: Available
3. π¦ Create trip (cargo 450 kg β€ 500 kg) β Validation passes
4. π Dispatch trip β Van-05 & Alex β On Trip
5. β
Complete trip with final odometer + fuel β Van-05 & Alex β Available
6. π§ Create maintenance (Oil Change) β Van-05 β In Shop
7. π Close maintenance β Van-05 β Available
8. π Reports auto-update cost & fuel efficiency
- Node.js v18+ and npm
- MySQL 8+ running
# 1. Clone and install backend
cd backend
npm install
cp .env.example .env # Configure DB credentials
npx sequelize db:create # Create database
node server.js # Starts on port 5001
# 2. Install and start frontend
cd ../frontend
npm install
npx vite --port 5173 # Starts dev server| Variable | Default | Description |
|---|---|---|
PORT |
5001 | Backend server port |
DB_HOST |
localhost | MySQL host |
DB_USER |
root | MySQL user |
DB_PASS |
β | MySQL password |
DB_NAME |
transitops_db | Database name |
JWT_SECRET |
β | Secret key for token signing |
Build order for an 8-hour MVP sprint:
| # | Module | Description |
|---|---|---|
| 1 | π Auth & RBAC | Login, roles, org-scoped access control |
| 2 | π Vehicle Registry | CRUD, statuses, uniqueness validation |
| 3 | π€ Driver Management | Profiles, license validation, statuses |
| 4 | π¦ Trip Management | Create, dispatch, complete, cancel + auto-transitions |
| 5 | π Dashboard | Role-specific KPIs, charts |
| 6 | π§ Maintenance | Log creation, auto status β In Shop |
| 7 | β½ Fuel & Expense | Logs, cost computation |
| 8 | π Reports | Fuel efficiency, ROI, CSV export |
| Status | Deliverable |
|---|---|
| β | Responsive web interface |
| β | Authentication with RBAC + multi-tenant org isolation |
| β | CRUD for Vehicles and Drivers |
| β | Trip Management with validations |
| β | Automatic status transitions |
| β | Maintenance workflow |
| β | Fuel & Expense tracking |
| β | Dashboard with role-specific KPIs |
| β | Charts and visual analytics |
| β | Reports with CSV export |
Built with β€οΈ for the Odoo Hackathon 2026