Version 3 & Beyond
Version 3 is
almost ready for release released and in this post I will explain some of the main feature points of this version:
Backend switched to TypeScript
Using Typescript as backend seemed like a requirement if app is going to be larger than what it is now. Old backend code was tangled with lots of SQL scripts, Hacks, Hard to maintain codes. Using TypeScript and some great libraries such as TypeORM, Jest,… a new backend is developed. It is much more easier to read and maintain.
Firebase Cloud Messaging came, OneSignal gone
For notifications delivery OneSignal services was used. but over time Firebase seemed like a better option given the advances made into their Admin SDK. A more reliable notification service has been developed and integrated into apps. One other good result of this change was the fact that all those cumbersome steps needed to setup OneSIgnal is gone now.
It’s a general on-demand app (Uber for X)
App was designed for a taxi requesting service just like Uber, Lyft & etc. With this version lots of options were integrated into Services pricing scheme & Location selection structure so it can be almost used for any kind of On-demand app. In order to achieve that fee structure needed to have many more options. Here is new service definition page. Some on-demand apps don’t actually have destination and only a pickup location. Also some could have more than one destination. Changes made into apps so having the option to go anyway you want with your app without needing any change into the code.
A new menu integrated into dashboard that would make it possible for requests to be managed more closely in real-time for admin. Admin also would be able to see bookings and take action on them if required.
Network Layer Redesigned
Absence of a decent encapsulated API scheme was felt. It led to a new design which is relatively a lot better than old one.
Android App UI
Android application theming library is migrated from old support library to new AndroidX Material 2.0. With that theming is much more streamlined, cleaner and looks better too. Sometimes customers had a hard time implementing their brand colors due to contrast issues but now thanks to Material 2.0 brand coloring couldn’t have been easier.
iOS App UI
Many elements has been revised with a more cleaner, sophisticated approach.
In-app wallet wasn’t the best option for some countries as people tend to like automatic payment more. Payment procedure is revised now and payments can be deducted more automatically. This approach is assured to be PCI complaint without requiring to get compliance notes for your apps. Payment Gateway system in general is encapsulated and uses a design that now it is possible and easy to have as many gateways we want (Gateways will come).
Region based currency is now available. It will give possibility for app to run in any location. defined in dashboard and pay with that region’s currency. To that end a multi currency wallet design has been included for both rider and driver with changes required throughout whole system to support that.
Android app used to be in Java. As great as it is some tools such as a decent functional programming, Null Safety checks, Coroutines were absent from it. Absence of these are a bit hard to take especially if you have done coding in Swift and other modern languages but using main solution of each device was an crucial point for the solution. that kept java code there to maintain. With Google officially announcing Kotlin as their main Android app development language app codebase very soon migrated to Kotlin. Android app now benefits from many great things Kotlin offers to be lighter, have less errors and be easier to read and maintain.
Dark mode was introduced in iOS 13 & Android 10. Support for those themes with appropriate map and all has been included in apps
Many other works done on the app in last three months which are too long to list. Hopefully with your support it will continue to receive updates offering what users seem to want most.
Integrating ride sharing as optional was planned for this release too but with time constraint and some unplanned changes it didn’t make it. Hopefully in future as v3.1 maybe.