A brief walkthrough of the Car Pooling project
This Car Pooling application allows users to:
- Become a member of the carpooling community (register and login)
- Join rides
- Offer rides
- See the most popular rides taken
Joining A ride
The user searches for:
- Source (starting point)
- Destination (drop off point)
On selecting a ride, choose the number of seats (based on availability)
The cost of the ride will be displayed and will ask for verification of booking the ride
Offering the ride
A registered user creates a ride by
- Selecting the starting point (source)
- Selecting the endpoint (destination)
- Entering car model (registration)
- Enter the number of seats available
- Cost per kilometer
- The offered pickup points
Inclusion of features
- Webservices using RESTful APIs
- Ajax Patterns
- Submission throttling
- To populate the source and destination of the list being searched
- Multistage download
- On loading the home page, the images are downloaded one after the other
- Comet
- SSE (server-sent events)
- To view the topmost rides driven/ joined
Use of framework
- RESTful API’s
- Flask micro framework
- Bootstrap for CSS
- Mongo DB (for the database)
Intelligent Component
- Calculate the fare: – ((distance * cost/km) / seats), Distance is calculated using the haversine algorithm
- haversine algorithm – Takes two points (their latitude and longitude) and used to calculate the distance
- To select pickup points – K nearest neighbors used
- The intelligent component is trained using the dataset having rows as Place name, latitude, longitude
- The model generated is used to predict the nearest neighbors of any given place
- To decrease calculation time a pre-computed matrix of given places with respect to distance from all other points (places) is used
Two such matrices are used:
- Distance matrix
- Indexes matrix