Goloca is an online boat booking application specifically designed to digitize travel in Maldives.
INDUSTRY: (BPO) INDUSTRY
It took us 12 months to develop Goloca, a complete ride-booking solution for boat providers in the Maldives. The cross-platform application was designed using React Native to provide a user-friendly and intuitive interface for both iOS and Android. We implemented this app in various phases. Keeping the best practices in mind, we started with designing a robust database architecture. We then designed the UI/UX screens for different users i.e. individual users or customers, boat providers and associated business users like hotels. We then moved to the implementation, testing and deployment phase respectively. The app had many advanced features such as ticketing, payments, deals, reward points and a tracking system to be implemented. Ticketing alone required a step by step booking process which involved showing users with options to select the ride type such as a ferry, water taxi or boat etc, a number of passengers traveling, one-way or return tickets, date and time of travel etc. before pulling a list of available options with calculated price. The app also allowed customers to charter a private boat. The most important part of ticketing was to implement a demand and supply-based algorithm to show dynamic pricing. We integrated multiple payment gateways like Stripe & PayPal to process digital payments. Wallet feature was also built for easy single-click payments. Features like daily deals and reward points earned on previous bookings, called Golo points, were also implemented to keep users engaged and drive retention.
Building an extensive cross-platform mobile application like Goloca with multiple interfaces was a complex task. As we progressed through the development process, we encountered many unique challenges. Addressing these challenges was important to make the application highly robust and customized for users.
Boats can’t always take the straight route between start and end destinations. Factors like weather conditions & water currents can affect these routes significantly. Hence knowing the exact distance travelled between two points becomes important for calculating ride fares accurately. There were no pre-existing solutions that could be used when it came to determining distance on a sea route.
Goloca was a highly complex app with advanced features. The client was worried about scalability as the app evolved and whether the app would be robust enough to handle high traffic volumes. Ensuring the stability and performance of a large-scale app like Goloca was a must to prevent it from crashing.
Like any other application this application had multiple Alpha testing personnel and lot of feedback came for incorporation from time to time. As app was algorithm heavy, making these changes was not an easy task as lot of testing has to be re-done every-time changes came in.
The app was about to bring a business change in the small island nations and hence promoters were fearful of the business idea getting leaked and someone else coming into the market earlier and since the market size was limited, the overall investment could have gone into a toss.
With the help of our dedicated resources, we successfully met the requirements and delivered beyond the client’s expectations. We built the app using the latest technologies and frameworks and ensured application stability and performance were not compromised at all. Our team implemented advanced solutions to resolve the above-mentioned challenges.
We designed a module where boat providers could create route maps by entering the origin and destination points of a ride. The app tracks the route taken by the boat in real-time and determines the accurate distance travelled between the two points. Once created these maps and distance information will be stored in the database. In future, this will act as an input to calculate fares for a ride between the two specified locations.
To ensure app scalability, we used the Micronaut framework to develop Goloca as a micro services-oriented application. We further implemented stateless authentication with Jason Web Token (JWT) to redirect user requests to any server. This increased application performance by eliminating the need to maintain session states and storing all user data on server side.
Though the changes were seen as small, their repercussion in terms of effort was largely due to algorithm level changes and test all the scenarios. The client was cooperative and understanding and hence we had his support in this matter. Additionally, we have been doing a good job at the documentation of modules, flows and use cases, and hence any such changes could be easily traced back to what all it impacts and hence we could test the scenarios with a high level of accuracy.
We at OnGraph took this as a challenge and proposed a series of steps to ensure we are the first one to hit the market. We suggested to toll out individual modules as they get to compete for versus a big set of multiple modules coming to market at delayed timing. This ensured capturing the market fast. Additionally, we had planned a very flexible and scalable architecture to accommodate a lot more modules that can come in the future. We coupled this with multi resources and a parallel team of developers to roll out the initial scope of various modules fast, one after another, to keep the market interested. We kept taking the enhanced features requested and feedback was accommodated. This was we ensured we capture the market at first and keep consolidating our position.