How we helped Qualica develop a universal digital banking platform
Qualica had identified a gap in the digital banking market: if you want to offer digital banking services, you have to hire a team and build from scratch. We helped our client create a digital banking platform that could be used by any bank — building it in a way that could flex to each bank’s needs and meet the regulatory requirements of South Africa’s financial system.
The challenge: Balancing security with flexibility
We had to find a way to maintain the utmost security in the digital banking platform, while providing enough flexibility for different banking processes. Often this involved approaching things differently and finding the common thread that was true for all banks.
For instance, banks have many ways of saving your account information and showing you your current balance. But the logic at the core of every bank account works in the same way: your current balance is the sum of a series of events.
We worked with Qualica on the implementation of an event-sourced system that could reflect common states based on the sum of events up to that point – a neat, elegant solution that can work asynchronously, eliminating locking and volume issues.
A team of FinTech domain experts
We are still working with Qualica’s team on the product – FinTech experts who are used to designing and developing within tight regulatory guidelines and security measures.
The solution: A unique, future-forward platform
A cloud-capable transaction, saving and lending core
In sync with their team, we helped Qualica build a single, cloud-capable, API-based core that handles transactions, saving, and lending – the essential parts of any banking service. This includes more than 30 supporting services such as decisioning, workflow, document management, financial ledger, and product configuration.
Working with Qualica’s team on developing a unique software architecture
While the client’s team developed software architecture and built strong foundations for it, we helped them get the most out of it. We extended their in-house software development team, helping the client constantly add new features and functionalities and ensuring that the platform meets the requirements of diverse end clients. The architecture development process involved creating new microservices and upgrading existing ones.
The tech we used:
- Backend services are written in Java 11 and Spring Boot
- The front-end is built with Angular
- MariaDB is used as the main database in most of the services, as well as the event store
- For streaming events, we are using Kafka
- For Saga orchestrating, we are using Camunda
- Keycloak – identity service
- DevOps technologies – Docker, Kubernetes, OpenShift, Jenkins