Digital Banking2022

Global Smart Plus

Global Smart Plus is a secure omni-channel banking platform offering seamless web and mobile banking. It is built with microservices communicating over gRPC, running on Node.js and packaged with Docker and Kubernetes.

Role
Backend Developer — Swift Technology
Timeline
From January 2022
Team
Swift Technology platform team
System Design

Architecture

ChannelsEdgeServicesCoregRPCWeb BankingMobile BankingAPI Gatewayone contractAuthAccountsTransfersthe money pathStatementsCore Bankingbank of record

One backend, every channel. Web and mobile are views onto the same services — and each service scales on its own axis on Kubernetes, because the transfer path and the statement path never share a load profile.

01

The Product

Omni-channel means one banking backend serving every surface a customer touches — the same accounts, balances, and transfers reachable from web and from mobile, without each channel growing its own divergent copy of the rules. The backend is the single source of truth; the channels are just views onto it.

02

Service Architecture

The platform is decomposed into microservices that communicate over gRPC rather than sharing a database or passing JSON over REST. gRPC's generated contracts mean a change to a service's interface is a compile-time concern rather than something discovered in production when a field quietly changes shape.

03

Deployment

Services are containerized with Docker and orchestrated on Kubernetes, so each one scales on its own axis — the transfer path and the statement path have very different load profiles, and neither should have to be provisioned for the other's peak.

In Practice

The API, Live

A transfer over the platform's gRPC contract. Web and mobile call this exact service — the channel changes, the rules can't, because there's only one copy of them.

grpcurl — funds transfer. Request: grpcurl -d '{ "from": "0170010012345", "to": "0170010067890", "amount": "25,000.00" }' smartplus.internal:443 \ transfers.v1.Transfers/Execute. Response: { "status": "SETTLED", "txnId": "TXN-2022-084921", "channel": "MOBILE", "balance": "1,83,500.00" } 0 OK · one generated contract, every channel

Built With

Node.jsgRPCMicroservicesDockerKubernetes

Next Project

Global Biznex

View →