Voila Cabs - World first taxi script coded with Micro-service architure and Distributed database
|Clone of: Uber||Developer: Tech Integrity Services|
|Language: Java||License: Paid|
We openly challenge that as on date this is the WORLDS BEST TAXI SCRIPT available so far in marketplace. Below are some of the great features in the app along with demo links.
· Book taxi on time or later booking
· Taxi trip details through receipt includes Booking ID, Pickup Drop location, fare charge (Base fare, distance , trip time , wait time, Discount Applied [if any] , payment type)
· Rate card available with the standard rate for day & night
· Chat option for driver and user
· Wallet balance with debit and credit differentiation
· Review for driver
· Trip ETA
· Final Invoice Generation
· Wallet History ( All / Credit / Debit )
· Card / Cash payment mode.
· Partial payment for Ride.
· Realtime Tracking of Driver
· Add Money to Wallet.
· Option for on duty / off duty.
· Home page with current location.
· Booking with upcoming , Assign jobs, and history status.
· Find job option (where later bookings will be available to accept).
· Manage car option (details of the car).
· Wallet option with debit and credit option.
· Review panel (review from clients).
· Driver Wallet Recharge.
· Driver Wallet Transaction History with All/Credits/Debits.
· Add Money to Wallet.
· Real time Job assignment on the basis of Car type , Trip time and GPS distance.
· Automatic job assignment
· Manual Job assignment ( From Dispatcher panel )
· Easy to use
· Available on native platform for Android as well as iOS
· Admin panel with 360 degree view of all the available function
· Saleable and robust platform
· We successfully deliver this solution to across the globe.
· They find 100% transparency between user and driver as well as agency, they save 40% of their time and efforts of manual calling.
Implementation of realtime tracking
Real time tracking itself is a challenging task , to reduce noise from GPS with lots of offline algorithms like Kalman Filters , Gyro api etc . This reduces the noise and get the motion-able data which we stores for about 50~80 Meters locally on device and then sync the same with firebase .
How Voila Cabs implemented Driver Tracking in Realtime ?
· At the initial stage with GYRO Api we can detect the movement of the phone , if we find phone is moving we move to next step . If the phone is ideal we ignore that location's as that is pure GPS- noise.
· In the next step there are certain logic written to check the valid GPS location by comparing with past entries and by considering horizontal accuracies and other factor's ( Source of GPS , Network Signal strength's etc ) .
· Kalman Filters - This is a great algorithm and purely use past location stream to predict the next GPS coordinate which is then weighted-averaged (using noise) against actual GPS reading to derive the final coordinates. This algorithm does a good job for you when you moving the car in straight direction. We take the reading from Kalman VS real GPS when we see movement of car in same direction, doing this our end customers ( User app ) will see Driver moving in the perfect straight motion , this to us is a good solution when driver is going in straight direction.
· When driver turn his/her car, we ignore kalman reading and get the real GPS coordinates after filtering from above step's .
· This final data is collected in local mobile database ( we used SQL-Lite ) . This will be cached for certain location and will be transmitted to server by considering the number of records cached so far along with internet feasibility .
· This slots of GPS Coordinates will be synced to Firebase Database after certain location's . This is where firebase comes into picture.
· On the user app we query nearest driver who were about 5 Miles form the pick up location for their car type (using Node-Mongo layer ).
· This driver IDS are queries for their last location's from firebase and an angle is calculated between two recent coordinates which decide the moment of car on user's google map .
Why Firebase :
· If we look at Firebase plans listed here https://firebase.google.com/pricing/ . To begin with it give 100 concurrent users/driver FREE . Please note this 100 is concurrent user's and not the actual user's as we don't have all users using system all the time . Lets say if user base increases to 1,00,000 firebase will charge you about 25 USD max . Where as other players in the market will charge you about 10,000 USD+ .
· Firebase is from google and hence reliable.
· For start up's who is expecting about < 10,000 user's every month to them we have integrated Firebase OTP authentication, where 6-Digit OTP code will be send to their mobile number's . ( Refer Firebase plans for more details )
Features in Voila Cabs
· Google api integration for autocomplete.
· Plotting of places to google map with distance and minutes calculation between routes.
· One step and easy booking process.
· Support different rates for day and night.
· Option to set cab types with rates from backend CMS.
· Stylish animation between views with Facebook style slide menu.
· Display all booking with scroll to load and clean UI.
· Filters to sort booking’s on the basis of completed, pending booking etc.. Available on both User and Driver App.
· Enable Auto refresh when driver accept job on driver arrival, journey begin , journey completed / dropped etc.
· Support Push messages for all the status as well.
· Option to Cancel the Job for User till driver don’t begin Trip and option for Driver to cancel job any time.
· Rate card screen with option to view all Taxi’s day and night rates.
· User can rate driver after completion of Ride , ALSO driver can rate user as well.
· Support localisation and Internationalisations .
· Support RTL Languages.
· Share ETA to Facebook and Twitter .
· Interface like OLA cabs .
· Firebase one to one chat ( Between driver and users )
What make's this scalable
· Coded with 3 Database Node-Mongo , Php-Mysql and Firebase . Hence the load can be shared between 3 server’s and hence we can make distributed architure with the app .
· No 3rd Party SDK used for Tracking- We have implemented Customised algorithm like Kalman Filter’s, Gyro Api’s etc to track of driver’s car in exact fashion like Uber . We have done a very minimal usage of server’s bandwidth and hence keep the server GPU and Bandwidth cycle low .
· Very nominal use of Google api – Google api are used only in Autocomplete and Map load’s .
· We are flexible to integrate with custom SMS Player’s like Firebase , Twillo or even if you have any SIM card which has free unlimited SMS we can integrate with the same in the same price ,this is what makes us unique .
What covers in our scope
· Set up your cloud server
· Set up your firebase and OTP's for Firebase.
· Set up Push messages Android
· Set up php code
· Set up Node code
· Set up mysql and mongodb
· Set up entire server side components.
· Re-skin iOS code
· Reskin Android Code
· Create bit bucket repo's and checkin the code .
· Send updates of our code from our repo's ( Voila Cabs )
· You will get full code for iOS & Android & Web backend including CMS & Api .
Added 27th June 2018 | 1219 Views