Logistics Management | Case Study | Technogise | Technogise Private Limited - Value driven approach to delivering high quality software solutions
Case Study 06
CLIENT
e-commerce giant in south-east asia
PROJECT
logistics management
PLATFORM
mobile
An offline first android application for delivery drivers of an e-commerce company's logistics department.
The client is an eCommerce organisation established across 11 countries in Southeast Asia
Client had an existing legacy mobile app, which facilitated 2 million + transactions per day. There was an urgent need to add multiple new features to optimize the business flow and improve the efficiency of drivers. However, due to various technical constraints, no new features had been added / released on this app for almost a year.
The main challenges for the team were:
  • Re-architecting the legacy code, which had an inflexible design, was hard to scale and had very low test coverage
  • Ensuring that the app, which handles 2mn+ packages per day, continues to operate smoothly during the re-architecting exercise
  • Adding multiple new features to the app while maintaining backward compatibility
  • Providing drivers with the fastest possible delivery routes, thereby improving their efficiency and reducing operational costs
  • Significantly improving the UX, which was not designed for optimal delivery
  • Managing a single monolithic codebase with a distributed team
We started by identifying the key flows in the app and targeting business critical functionalities to ensure that re-architecting, and adding new features, can be done in parallel. This minimized the duplication of effort of managing 2 old and new flows.

Following the Agile approach, we split the problem into multiple smaller milestones and parallel tasks, which helped us provide frequent releases for the client.

We made the code easier to fix by breaking it down into smaller, manageable modules. The modules were categorized by feature, as well as by domain. This hybrid approach of modularizing the app helped teams work on the code independently and in parallel.

We refactored the code by implementing clean code and SOLID design principles, which made the app more robust and easily scalable.

We gradually migrated the codebase from Java to Kotlin, which is much more concise, and therefore, the language of choice for most modern Android apps.

We applied the latest Google architecture guidelines with the help of Jetpack libraries.

Adopting the Reactive Programming approach (RxJava) helped us perform asynchronous operations much faster, thereby improving the app's performance significantly.

By providing ample test coverage, we created a strong safety harness for the codebase and made it flexible to adapt to new change requests.

We ensured backward compatibility by testing the app across multiple devices & OS versions.

We helped design a more intuitive UX of the app, with much lesser navigation and very optimised interactions, so that the delivery boys could be on-boarded much faster and they could perform app operations more efficiently.

We added location tracking feature on the drivers' app to help them identify the fastest delivery routes.

Our robust solution ensured a seamless transition from Android version Nougat to Pie and helped reduce app crashes significantly.
Let's craft brilliance together
Logistics Management | Technogise | Technogise Private Limited - Value driven approach to delivering high quality software solutions