How tiburon-0/ride-share-system works
This is a ride-hailing simulation whose main workflow loads rider, driver, and location data; filters and ranks available drivers using preferences and graph distances; creates and advances a trip; then records matching and trip outcomes. The README documents payment and mutual-rating capabilities alongside this flow. The excerpts show the persistence calls and trip lifecycle directly, but do not expose all matching, payment, or rating orchestration, so those links are limited to documented ownership rather than inferred call chains.
Main entry points: database_model.py Mini ORM · main.py Menu and Orchestration · ride.py Trip Lifecycle · driver.py Driver
Components 21
Simulation Workflow
- Dispatch Agent
agent.py - Menu and Orchestration
main.py - JSON Data
riders.json
Ride Domain
- User
user.py - Rider
rider.py - Driver
driver.py - Car Types
car.py - Preferences
preference.py - Billing Info
billing_info.py - Payment Methods
payment_method.py - Trip Lifecycle
ride.py - Mutual Ratings
rating.py
Matching and Routing
- Greedy Matching
main.py - City Graph
map_learning.py - Graph Routing
graph_model.py - Locations
location.py
Persistence
- Match Audit Log
matching_log.py - Mini ORM
database_model.py - SQLite Manager
database_manager.py - Ride Database
rideshare.db
Other components
- Rider
Connections 22
- Rider → Menu and Orchestration: selects workflow
- Menu and Orchestration → JSON Data: loads records
- Menu and Orchestration → Greedy Matching: requests assignment
- Greedy Matching → Preferences: filters candidates
- Greedy Matching → Graph Routing: computes distance
- City Graph → Graph Routing: supplies network
- Graph Routing → Locations: routes locations
- Menu and Orchestration → Dispatch Agent: dispatches ride
- Dispatch Agent → Trip Lifecycle: creates trip
- Trip Lifecycle → Payment Methods: supports payment
- Billing Info → Payment Methods: holds methods
- Rider → User: extends
- Driver → User: extends
- Driver → Car Types: uses car
- Greedy Matching → Match Audit Log: records decision
- Match Audit Log → Mini ORM: persists through
- Rider → Mini ORM: persists through
- Driver → Mini ORM: persists through
- Trip Lifecycle → Mini ORM: persists through
- Mini ORM → SQLite Manager: executes queries
- SQLite Manager → Ride Database: reads and writes
- Trip Lifecycle → Mutual Ratings: enables mutual rating