Carpool
Background
Carpooling is the sharing of car journeys so that more than one person travels in a car. Carpooling reduces each person's travel costs, carbon emissions, traffic congestion on the roads, and the need for parking spaces. Carpool is a carpooling platform that allows driver and passenger to find each other, communicate in real-time, and share a ride together.
Approach
Carpool platform is built with some latest technology and best practices. Its core features include Smart Route Matching Algorithm, Real-time Messaging, Booking, Rating & Review, profile verification (email and sms) feature.
- Smart Route Matching Algorithm: a driver is able to create multiple waypoints by dragging desired route in the map during ride listing process. The platform is able to match potential passengers who are travelling the same path with driver, not only with the same pick-up and drop-off point, but the path a driver passes through.
- Real-time messaging: using the modern implementation (websocket), driver and passenger can communicate with each other in real-time
- Booking: a passenger is required to make a book request to secure a ride booking. Driver accepts a booking request to confirm a ride booking.
- Rating & Review: it is a tool built for driver or passenger to evaluate counterpart's credibility
- Profile verification: email and sms verification help to increase user's credibility
Programming language, framework, tool: Ruby on Rails (Rails 5 - ActionCable), RSpec, JQuery, ES2015 (ES6), React, SASS, Google Maps API (Map, Places, Geometry, Directions)
Server environment: AWS (EC2, S3, RDS, Route53, CloudWatch), Ubuntu, Nginx web server, Puma application server