Architecture

https://drive.google.com/file/d/1BlGqMDCAb6nL0k7cHfT4HBpsySeq2fU3/view?usp=sharing

Microservice / RepositoryFunctionsDocker imageTechnologies / LibrariesDescription
connectus.development
-
  • eslint.json
  • docker-compose.yml

Configuration for running docker compose.

Ruleset for ESLint.

connectus.frontend.load_balancer
nginx

Balances load for external requests to API services, allows increment number of running API services:

  • connectus.backend.api_public
  • connectus.backend.api_bank
  • connectus.backend.api_admin
  • connectus.backend.api_provider

Proxy passes access to:

  • connectus.frontend.public
  • connectus.frontend.admin
  • connectus.frontend.provider
connectus.backend.load_balancer
nginx

Allows increment number of running services:

  • connectus.backend.data_handler
connectus.backend.amqp_broker
RabitMQ

Main application broker used by connectus.backend.log_handler service to handle logging. Also used by connectus.backend.api_proxy to control number of requests sent to OpenBankingAPI connectus.backend.api_bank to announce app provider about new link with bank client

connectus.backend.worker
node
  • axios
connectus.backend.amqp_broker consumer
connectus.frontend.public
node
  • http-server
  • React
  • axios

Web application to show available apps

Can be accessed publicly

connectus.frontend.admin
  • edit / delete 3rd party app providers
  • add / edit / delete 3rd party apps
  • validate 3rd party apps
  • edit 3rd party app permissions
node
  • http-server
  • React
  • Redux
  • axios

Web application to control application: 3rd party app providers, see their activity, statistics, log.

Requires authentication

connectus.frontend.provider
  • register a provider account
  • add / edit / delete 3rd party apps
  • see linked to app bank clients quantity
  • provide API access token
node
  • http-server
  • React
  • Redux
  • axios

Web application for 3rd party apps providers

Requires authentication

connectus.backend.api_public
  • provide 3rd party apps list
node
  • Express
  • swagger
Public API and aPI for connectus.frontend.public
connectus.backend.api_bank
  • provide 3rd party apps list
  • provide bank client linked 3rd party apps list
  • link / unlink 3rd party app to bank client
node
  • Express
  • swagger

API for MobileBank3.0 Provides and handles data.

Initiates bank client account creation on 3rd party app.

connectus.backend.api_front
node
  • Express
  • swagger
API for frontend.public / frontend.admin / frontend.provider. Provides and handles data, provides logs.
connectus.backend.api_proxy
  • ? provide authentification status
  • filter requests to Bank's Open Banking API according to permissions
node
  • Express
  • swagger

Full reverse proxy for 3rd party app requests to Bank Open Banking API

Async API, handles 3rd party app requests over connectus.amqp_broker.

connectus.backend.data_handler
  • handle data requests by API's
  • manages cache using tags
node
  • Express
  • swagger
  • node-cache

Data handler for backend.api_public / backend.api_front / backend.api_proxy

connectus.backend.data_cache
redis
Cache service
connectus.backend.data_database
mysql
Database service
connectus.backend.log_handler
node
  • Express
  • swagger
  • elasticsearch
Handles requests to log events
connectus.backend.log_database
elasticsearch
Database service
Mocks
open.banking.api
node
  • Express

Simulate Bank Open Banking API

https://github.com/OpenBankingUK/reference-mock-server

bankapp.danskebank.app
-
  • React Native
  • Redux
Mobile Bank 3.0 app
bankapp.danskebank.api
node
  • Express
API for Mobile Bank 3.0 app
3rdpartyapp.coffee.app
-
  • React Native
  • Redux
Coffee shop app
3rdpartyapp.coffee.api
node
  • Express
API for Coffee shop app 
No labels
Write a comment…

Flag notifications

Flag notifications

Flag notifications