Back to Projects
🚗

Intelligent Transportation System

3-tier distributed ride-sharing system with dynamic pricing, machine learning, and comprehensive load testing.

Distributed SystemsMachine LearningDynamic PricingREST APIsLoad Testing

Overview

Developed a 3-tier distributed system with modules for drivers, customers, billing, admin, and rides, using Node.js, Express, REST APIs, and MongoDB. The system is deployed via Docker for consistent deployment across environments. Implemented a dynamic pricing algorithm using the Uber Fares Kaggle dataset with machine learning models to balance supply-demand dynamics. The intelligent pricing strategy adjusts fares in real-time based on demand patterns, driver availability, and market conditions. Validated scalability with Apache JMeter load testing on 10k+ drivers, customers, and billing records, ensuring the system can handle high traffic loads. The modular architecture enables independent scaling of system components, with REST APIs facilitating seamless communication between distributed modules.

Key Highlights

3-tier distributed system with modules for drivers, customers, billing, admin, and rides

Built with Node.js, Express, REST APIs, and MongoDB for scalable architecture

Deployed via Docker for consistent deployment across environments

Dynamic pricing algorithm using Uber Fares Kaggle dataset with machine learning models

Balances supply-demand through intelligent pricing strategies

Apache JMeter load testing validating scalability with 10k+ drivers, customers, and billing records

Modular architecture enabling independent scaling of system components

REST APIs for seamless communication between distributed modules

Tech Stack

Node.jsExpressMongoDBREST APIsDockerApache JMeterMachine LearningKaggle Dataset

🏗️ System Architecture

System Components

Driver Module

Driver management and availability

Node.jsExpressREST API

Customer Module

Customer requests and ride booking

Node.jsExpressREST API

Billing Module

Payment processing and invoicing

Node.jsExpressREST API

Admin Module

System administration and monitoring

Node.jsExpressDashboard

Ride Module

Ride matching and tracking

Node.jsExpressREST API

Pricing Algorithm

ML-based dynamic pricing engine

PythonMachine LearningKaggle Dataset

MongoDB

NoSQL database for all modules

MongoDBMongoose

Docker

Containerization for deployment

DockerDocker Compose

Load Tester

Apache JMeter for scalability testing

Apache JMeterPerformance Testing

Data Flow

Customer ModuleRide Module

Customer ride request

Ride details (pickup, destination)
Ride ModuleDriver Module

Find available drivers

Driver availability query
Driver ModulePricing Algorithm

Current supply data

Available drivers count
Customer ModulePricing Algorithm

Current demand data

Active ride requests
Pricing AlgorithmBilling Module

Calculate dynamic fare

Fare amount (ML-based)
Billing ModuleMongoDB

Store billing record

Invoice data
Ride ModuleMongoDB

Store ride details

Ride record
MongoDBAdmin Module

System metrics

10k+ records for monitoring

Architecture Flow

Driver Module

Customer Module

Billing Module

Admin Module

Ride Module

Pricing Algorithm

MongoDB

Docker

Load Tester

Kushal Adhyaru - AI/ML Engineer & Full-Stack Builder