Bank core processing in a microservice architecture.
- AccountAPI - users and administrators
- BankAccountAPI - main money storage
- CurrencyAPI - currency conversions
- DocumentAPI - receipt generator
- EnumAPI - all other entities as mockups
- RollbackService - operations cancellation
- TransactionAPI - banking core operations
- WebPanel - main frontend (SPA-application)
To deploy your own service:
- Register domain for it
- Create Dockerfile and introduce it to
docker-compose.yml
- Add upstream and server location in
nginx.conf
- Append a new target to
prometheus.yml
{
"json_ver": 2,
"account_id_from": "",
"account_id_to": "",
"currency_code_from": "",
"currency_code_to": "",
"currency_amount_from":0,
"currency_amount_to":0,
"comission":0,
"docx_filepath": "",
"amount_of_hold": 0,
"type": "SomeEnumValue",
"status": "SomeEnumValue"
}
- type and status - enum value
- amount_of_hold - will be added to account_from in case of rollback
- CI based on Github Actions
- CD based on crontab: follow
cd.sh