- Category
- Full-stack / Multi-tenant / Maps
- Role
- Full-stack development
- Year
- 2026
- Tools
- Node.js · Express · EJS · MySQL · Bootstrap 5 · Google Maps API · Chart.js · Puppeteer
Node.jsMulti-tenantRBACGoogle Maps

01
The brief
Each depot manages its own drivers, vehicles, routes and schedules and must never see another depot's data. Scheduling also has to catch a driver or vehicle being booked twice before it happens.
02
What it does
- 01Session authentication with role-based access control and depot-level data scoping in middleware
- 02Depot, driver and vehicle management, including licence-expiry alerts
- 03Route builder on Google Maps: places search, real-road directions and map-marked stops, with a Haversine fallback
- 04Schedule conflict detection inside database transactions, separating blocking conflicts from advisory warnings
- 05Fuel and maintenance logs
- 06Depot dashboard with Chart.js and PDF reports generated with Puppeteer
- 07bcrypt, helmet, CSRF protection, express-validator and parameterised SQL throughout
03
In numbers
10.2klines of code
10modules delivered
3tiers
04Wildlife Chatbot
Sri Lanka wildlife guide that learns from feedback
