Self Microservice Platform is designed to launch a large or medium-sized retail bank based on the principles of microservice architecture. It's flexibly configured for the tasks of a particular business and is easily scalable.
To Business
17 microservices
Services are adaptable for use in multiple contexts. The same service can be reused in more than one business process or over different business channels.
Stability & Control
The independence of microservices from each other ensures system stability. Failures and defects in one microservice do not affect the work of the others, therefore the system itself operates with minimal downtime.
Multiplatform
Microservices Platform allows to combine different technologies by choosing the best possible solutions, as well as to use different programming languages and storage technologies for each microservice.
Lower costs
Achieving core business KPIs and cost reduction.
Autonomy & Independence
The ability to create independent cross-functional teams aimed at solving a specific business task. Each element has its own function, independent of other services.
Scalability & Integration
Integration with basic Core Banking Systems. There is no need to change the entire IT system, it is possible to change only a specific block of it.
Interaction pattern of the platform with internal and external bank systems
Microservices capabilities
UserBox — storage of personal data
CRUD of customer contracts
CRUD of client documents
CRUD of customer phone numbers
CRUD of client emails
Saving / deleting of the client photos / avatars
UserSettings — managing client settings
Customized notification types
Changing of product notification type
Butler — authentication / authorisation machine
CRUD of user accounts
User authentication and authorisation
Customer category management
Roles and permissions management
Configure authentication scenarios (authentication types, multi-factor authentication, etc.)
Session Management
Login and password validation
Mobile device registration
RegManager — complex query orchestrator
User Registration
Front Setting
Mobile upgrade in all required services (Butler, Userbox, Siebel)
Methods for email writing / editing / confirmation
User account recovery methods
User information providing for client applications
Methods for changing reporting settings
Methods for working with marketing banners and its click rate
User migration functionality
PaymentGate — payment microservice
Import of a services guide from the Project Management Center
Loading a list of service groups
Loading a list of services with group, region filters
Services Search
Payment for services / internal and external transfers
Creating and managing of templates
Threshold payments
Auto payment
Creating a template from a completed operation
Repeat a previously performed operation
Export of a payment receipt (PDF file)
Subscription function
Payment of issued invoices for subscription
Directory — reference information storage
Directories:
BIC
Map image
Region
Brand
Customer offer images
Swift
Merchant Category Code (MCC)
BusManager — processing of requests incoming to the bank bus and to the Online Banking Platform
Import of a services guide from the Project Management Center
Loading a list of service groups
Loading a list of services with group, region filters
Services Search
Payment for services / internal and external transfers
Creating and managing of templates
Threshold payments
Auto payment
Creating a template from a completed operation
Repeat a previously performed operation
Export of a payment receipt (PDF file)
Subscription function
Payment of issued invoices for subscription
DepositMarket — search, opening and early closure of deposits
Search for deposits available for opening
Calculation of deposit profitability
Deposit opening
Early deposit closure by client (with preliminary calculation of profitability)
BankProduct — storage of clients Bank Products List
Return of Bank Products List
Card lock / unlock
Card activation
Saving a custom product name and its search criteria
Checking of product write-off / credit operation
Currency — an application for storing exchange rates and operations with them
Currency conversion
Currencies for conversion transactions
Exchange Rates for Online Banking
Importing currencies from banking methods
Admin — complex admin query orchestrator
Admin accounts management
Role assignment to accounts
Password reset for admin accounts
Customer search
Clients lock/unblock
Customer login history
Customer products list
Transfer limits change
Import of SWIFT
Directory (file download)
Import of Country Directory (file download)
View a list of branches
CRUD for brands
CRUD for card images
CRUD for images of banking special offers
BankLimit — accounting of bank limits
Global limits setting
Setting of user groups limits
Setting of personal limits
Fund accounting
Operations checking on the basis of limits and amount of funds previously spent
Octopus - parallel execution of background tasks and system events notification
Making background calls to components, including Scheduled
Notification of components about system events
Postie - sending of sms, email and push messages
Sending of SMS messages through API Prostor SMS or bank bus
Sending of emails via SMPT or bank bus
Sending of push messages through bank bus
Herald — work with client notifications
Processing of incoming system events and generating of notifications
Output of notification list
Changing of notification status («new», «read»)
Architecture
Microservices
Technologies
Kubernetes
Docker
React + Redux
Swift
Kotlin
PHP 7.3
Nginx
Lumen + Doctrine2
Kibana
Redis
Gitlab CI/CD
Elasticsearch
Filebeat
Prometeus
How we work
Front-end workflow
We believe that products should be simple and usable. To use an online banking should be as simple as to send an e-mail. Our standard online bank includes 350 features. Online banking should be usable, useful, accessible and safe.