Case Study: Wallet for FIAT and CryptocurrenciesFull Wallet with Money In, Convert, Buy and Payout capabilities
The client is an aftermarket platform for games, with the 3rd largest, competing globally for a multi-billion dollar market.
With a history of over 10 years, the client engages in re-selling pre-owned as well as new games to buyers across the globe. The entire operations of the client were originally built on an aging Magento installation, which could not be upgraded due to core hacks being carried out by internal software engineers in the cause of time.
The client manages retail customers, as well as merchants, internally. Due to multiple currencies used on the Magento Platform, they needed an easy capability to transform money across currencies. On the one hand, to achieve payouts in specific Fiat currencies to merchants, on the other hand, commissions needed to be managed for bought goods. The original monolith Magento application didn't allow for effective management of an increasing set of functionality that needed to be achieved. Also, the client wanted to undergo an ICO in a platform internal cryptocurrency, which would further complicate transactions between currencies.
While analyzing the clients' software ecosystem, it turned out that the legacy system in use was hard to customize. It was this time we decided the SOA approach was the one to follow, which would also ensure any further service could be integrated into the legacy application seamlessly.
The initial works needed to be done on the legacy application, creating interfaces in the form of a Restful API, which would allow for other 3rd Party services to be used. The client already had an API partially implemented, which allowed certain functionality to be exported, however, this API wasn't meant to abstract a whole process flow. Also internal to Magento data needed to be made available to the Wallet, and henceforth be managed by it.
The wallet in all sense of a financial application is nothing more, and nothing less, a General Ledger, which accounts for Credit and Debit operations on User's financial accounts. We made sure, we were compliant with potential 3rd party auditing firms, and use best practices from start to end.
Another Problem we needed to account for was the user accounts themselves. Letting Magento handle those internally was a too big risk to be taken, therefore we also abstracted the Authentication, Authorization and User Management flow into an independent App, which could then also be used by a variety of other platforms under operation in the clients gaming ecosystem.
Value Delivered by CodeCoda
CodeCoda delivered value due to the fact of preparing the Kinguin Platform and ecosystem by implementing vital services. On the mid-term run these services would allow Kinguin's internal development team to slowly decentralize its service offerings and leverage a Service Oriented Architecture for their platform.
Abstracting the architecture, moving the platform to the cloud, and allowing services to interact through a mesh, is beyond delivering a wallet product the most significant achievement of applied digital transformation.