Success Story
Our client, part of a multinational telco corporation, needed to rapidly ramp up engineering resources and business-critical expertise to upgrade their existing native B2C self-care mobile application portal. We built a user portal where customers can pay their bills, recharge their vouchers, manage invoices, check monthly data usage, and manage a plethora of additional services.
Reliable payment process
Fully digitalized customer journey
Faster
time-to-market
The Client
Our client has the largest mobile network in Bulgaria that brings technology and connectivity in one place. The company is a part of a technology communications conglomerate that connects over 3 million customers to people, devices, and businesses.
During its 20+ years in the Bulgarian market, the company has established an excellent track record as a wireless pioneer, launching Bulgaria's first commercial 4G network, the first VoLTE service, and paving the road for the local 5G network's development.
The Solution
The greatest challenge for the transformation of the B2C native mobile apps was to upgrade and expand the functionalities of the self-care mobile application portal of the client, which is used by a large number of people, without interrupting the service. Our team delivered integration with numerous subsystems, work patterns, and rules and redesigned existing components, turning the portal into a new focal point for customer interaction.
We went through a total redesign of the whole native mobile app, migrated it to new and modern architecture and technologies, and developed new features and functionalities in parallel. The process started with investing significant time and effort in analyzing the current state of the application and planning the roadmap for technology migration and further developments.
The Scalefocus team adapted the native mobile application to run on Android versions 6 to 12, and the iOS application supports version 12.1 upwards. Both applications run smoothly on mobile phones and tablets since the design is scalable and adaptable to various screen sizes.
Both versions of the application applied the modern and widely used MVVM design pattern for mobile apps, although initially based on MVC (Model-View-Controller). This is getting changed, and the Scalefocus team is on a path to transform the whole application and apply the MVVM design pattern as it is the preferred way of development for state-of-the-art mobile applications.
The Android architecture contains one activity, and each screen is split into fragments. The business logic is inside each fragment, and each screen executes the calls to the backend to fetch data. Scalefocus developed all the new features on Kotlin. The legacy Java code was migrated to Kotlin step by step in order to guarantee that users were not affected.
For the iOS version, the language chosen for implementation is Swift, and the current development supports the most recent version of Swift (5+), which comes with all-new features. iOS follows a similar architecture path to Android.
Due to the nature of the self-care app, it provides access to multiple types of information from various client back-end systems. We combined all communication streams to the different back-ends into one central service as a single gateway to combat this challenge. The solution ensures easy extensibility, maintainability, and high security. The communication between the customer devices and the gateway happens securely via HTTPS by exchanging JSON objects with information about the service that will be accessed, the operation to be executed, and the endpoint hit. A 3-layered authorization ensures the security of each separate request to the gateway service:
Basic authentication
Device verification
Access and refresh token provisioned on initial authentication
Since the application provides a payment method by using the device's NFC ability, even higher security is desired. The Scalefocus team has integrated several payment gateways, for which we have introduced SSL (Secure Socket Layer) pinning.
As the application was developed for a particular MSP (Mobile Service Provider), it is mandatory for each user to possess a valid mobile number provided by the MSP when signing a contract. User account creation is initiated together with the contract signing. The activation of the user account happens upon app installation and initial password setup. There is also a 2-Factor-authentication triggered as soon as the account is created. The user receives a verification code via SMS, ensuring the phone number is accessible and valid. Since the account creation and authentication happens on the client web page represented in a WebView, the application receives in response access and refresh tokens, which get stored securely and are further used for calls to the back-end via the Gateway Service. No login data is stored in the library. It is persisted in the application. In both applications, tokens are saved in secured and encrypted containers.
To prevent re-login on the reopening of the application, tokens are only used for API requests and are checked every time if they are valid. If they have expired, a new token pair is regenerated and stored This process happens in the background, so there are no required actions for end-users.
In terms of communication between the mobile app and the back-end, the app uses asynchronous REST API requests via JSON formatted requests/responses. They get decoded as specific models and used inside the application wherever needed.
Scalefocus also has been delivering an end-to-end digital transformation of all the end-user-facing portals of the client, including not only the self-care mobile apps but also the web B2B and B2C portals. Our client went through major rebranding process, where we helped with the rebranding of the end-user-facing portals (mobile apps and web), delivering strategic and critical for the users functionalities and changes within fixed strict deadlines, impacting the new branding of the company and all related marketing initiatives.
Results
Scalefocus refactored, adapted, and expanded the existing system, adding new features and integrating them into the client's network. We set up the required infrastructure to accelerate production and established development procedures and best practices, elevating the quality of the entire development process. The self-care portal we built and integrated supports our client in providing top-notch customer service and functionalities.
Fully digitalized customer journey – through an integrated omnichannel solution
Faster time-to-market for client’s business requests
Accurate usage tracking of the app, backed up by the latest technology
Reliable payment process
State of the art design which enables easier and faster operation
24x7 support of infrastructure and software
Tech Stack
Java 8, Oracle DB, Tomcat server, Apache Ant, Jaspersoft, Nginx, Varnish, Jenkins
Our Work
We have a global client base that includes Fortune 500 companies, innovative startups and industry leaders in Information Technology, E-Commerce, Insurance, Healthcare, Finance and Energy & Utilities.