Intelligent Transportation System
3-tier distributed ride-sharing system with dynamic pricing, machine learning, and comprehensive load 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
Project Links
🏗️ System Architecture
System Components
Driver Module
Driver management and availability
Customer Module
Customer requests and ride booking
Billing Module
Payment processing and invoicing
Admin Module
System administration and monitoring
Ride Module
Ride matching and tracking
Pricing Algorithm
ML-based dynamic pricing engine
MongoDB
NoSQL database for all modules
Docker
Containerization for deployment
Load Tester
Apache JMeter for scalability testing
Data Flow
Customer ride request
Ride details (pickup, destination)Find available drivers
Driver availability queryCurrent supply data
Available drivers countCurrent demand data
Active ride requestsCalculate dynamic fare
Fare amount (ML-based)Store billing record
Invoice dataStore ride details
Ride recordSystem metrics
10k+ records for monitoringArchitecture Flow
Driver Module
Customer Module
Billing Module
Admin Module
Ride Module
Pricing Algorithm
MongoDB
Docker
Load Tester