Solution

Monak is a B2B2C platform wherein

For service description and definitions refer to Service Descriptions page

B2C

B2C Solution Diagram

As can be seen in the above figure the B2C touch point is a mobile app to be available on Android and iOS phones to be installed via Play Store, App Store, Huawei Store. We will have API Gateway on front of our micro-services which will sanitise request via an Auth service. All services will have a registry wherein we will register a provider module which is a parser and processor linked to an external API like Bank Account, Card Scheme, Remittance Service etc. Ancillary services like notification service, logging service, monitoring and observability service are common services used by the whole system.

The mobile app will be a React Native based app. The decision to go with React Native as against Flutter or Native is for the following reasons:

Backend is micro-services based architecture:

What’s the use of this provider module? Provider module parses the data it receives and requests from and to an external API into a common format that our system and eventually our app understands.

B2B

B2B Solution Diagram

As compared to the B2C solution, B2B is a lighter solution wherein its mostly dependent on the database and workflow service for CRUD like operations and triggers to fulfill a certain set of tasks defined in the workflow. Our workflow is currently mostly manual and a few parts automatic via a human and we intend to make this a fully-automated workflow using temporal as more external APIs become available.

Backend is OSS based GraphQL solution:

The web portal is a React based vs a MVC framework rendering frontend: