workspace "IXOlist | Bank | Business processes" { !identifiers hierarchical model { properties { "structurizr.groupSeparator" "/" } User = person "Customer" { } account = softwareSystem "Account A" { tags "Main Account" } Receivers = softwareSystem "Receivers" { Account_B = container "Account B" { tags "Main Account" } Account_C = container "Account C" { tags "Account" } Account_D = container "Account D" { tags "Account" } tags "Architectures softwaresystem" } group "IXOlist" { bank = softwareSystem "Bank" { description "Business processes" tags "Business processes softwaresystem" url "https://ixolist.netlify.app/apps/bank/" } } group "IXOlist" { group "Bank" { #!include \ # "./Bank/index.dsl" Transfer = softwareSystem "Payment transfer" { group "Mode" { Single = container "Single" { tags "Select" } Multi = container "Multiple" { tags "Select" } } group "Token Operation" { Transfer_Token = container "Payment Transfer" { tags "Button state" } } group "Input" { Manual = container "Manual" { tags "Select" } group "Manual" { Token = container "Token" { tags "input field" } Amount = container "Amount" { tags "input field" } Memo = container "Memo" { tags "input field" } Username = container "Receivers" { tags "input field" } } Import_CSV = container "Import CSV" { tags "Select" } } group "Smart Contract" { Transfer_Contract = container "Transfer Contract" { tags "Contract" } } group "Transction Data" { Transaction = container "Submit" { tags "Button" } } tags "Architectures softwaresystem" } Asset_Managment = softwareSystem "Asset Managment" { tags "Architectures softwaresystem" } Payment_History = softwareSystem "Payment History" { } web3 = softwaresystem "Web3 authentication tool" { group "Transaction request prompt" { Wallet = container "Sign" { tags "Button" } } tags "Architectures softwaresystem" } } } "User" -> "account" "account" -> "Transfer.Transfer_Token" "Transfer.Multi" -> "Transfer.Manual" "Transfer.Multi" -> "Transfer.Import_CSV" Transfer.Single -> Transfer.Token Transfer.Single -> Transfer.Amount Transfer.Single -> Transfer.Memo Transfer.Single -> Transfer.Username Transfer.Transfer_Token -> Transfer.Single Transfer.Transfer_Token -> Transfer.Multi "Transfer.Transfer_Contract "-> "Receivers.Account_B" "Transfer.Transfer_Contract" -> "Receivers.Account_C" "Transfer.Transfer_Contract" -> "Receivers.Account_D" "Transfer.Token" -> "Transfer.Amount" "Transfer.Amount" -> "Transfer.Memo" "Transfer.Memo" -> "Transfer.Username" "Transfer.Username" -> "Transfer.Transaction" #"Transfer.Import_CSV" -> "Transfer.Transfer_Contract" "Transfer.Import_CSV" -> "Transfer.Transaction #"Transfer.Manual" -> "Transfer.Transfer_Contract" "Transfer.Manual" -> "Transfer.Transaction" "Transfer.Manual" -> "Transfer.Token" "Transfer.Transaction" -> "Web3.wallet" "UAL + ESR" "Web3.Wallet" -> "Transfer.Transfer_Contract" "Execution Transaction" #!include \ # "./4-code/index.dsl" } views { properties { "structurizr.sort" "created" } systemLandscape "ixolist-bank-business_process-systemlandscape" { title "IXOlist | Bank | Business processes" include "bank" } #!include \ # "./1-system-Context/index.dsl" #!include \ # "./2-container/index.dsl" #!include \ # "./3-component/index.dsl" #!include \ #"./4-code/index.dsl" #!include \ # "./5-deployment/index.dsl" # Dynamic-001 -> bank transfer single dynamic "Transfer" "ixolist-bank-business_process-payment_transfer-single-dynamic" { title "IXOlist | Bank - payment transfer # Single" "User" -> "account" "account" -> "Transfer.Transfer_Token" "Transfer.Transfer_Token" -> "Transfer.Single" "Transfer.Single" -> "Transfer.Token" "Transfer.Token" -> "Transfer.Amount" "Transfer.Amount" -> "Transfer.Memo" "Transfer.Memo" -> "Transfer.Username" "Transfer.Username" -> "Transfer.Transaction" "Transfer.Transaction" -> "Web3.wallet" "Web3.Wallet" -> "Transfer.Transfer_Contract" { { "Transfer.Transfer_Contract" -> "Receivers.Account_B" } { "Transfer.Transfer_Contract" -> "Receivers.Account_C" } { "Transfer.Transfer_Contract" -> "Receivers.Account_D" } } } dynamic "Transfer" "ixolist-bank-business_process-payment_transfer-multiple-dynamic" { title "IXOlist | Bank - payment transfer # Multiple" "User" -> "account" "account" -> "Transfer.Transfer_Token" "Transfer.Transfer_Token" -> "Transfer.Multi" { { "Transfer.Multi" -> "Transfer.Manual" } { "Transfer.Multi" -> "Transfer.Import_CSV" } } { { "Transfer.Manual" -> "Transfer.Token" "Transfer.Token" -> "Transfer.Amount" "Transfer.Amount" -> "Transfer.Memo" "Transfer.Memo" -> "Transfer.Username" "Transfer.Username" -> "Transfer.Transaction" } { "Transfer.Import_CSV" -> "Transfer.Transaction" } } "Transfer.Transaction" -> "Web3.wallet" "Web3.Wallet" -> "Transfer.Transfer_Contract" { { "Transfer.Transfer_Contract" -> "Receivers.Account_B" } { "Transfer.Transfer_Contract" -> "Receivers.Account_C" } { "Transfer.Transfer_Contract" -> "Receivers.Account_D" } } } styles { element "Contract" { shape "Hexagon" width "350" height "100" background "white" # opacity "100" } element "Contract" { border "solid" strokeWidth "5" stroke "#9011bb" } element "Contract" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Contract" { fontSize "26" color "#9011bb" } element "input field" { shape "box" width "600" height "150" background "white" opacity "100" } element "input field" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "input field" { description true metadata true # icon } element "input field" { shape "box" width "600" height "150" background "white" opacity "100" } element "input field" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "input field" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "input field" { fontSize "24" color "black" colour "black" } element "input field" { properties { name value } } element "input field" { fontSize "24" color "black" colour "black" } element "Main Account" { shape "Circle" width "200" height "75" background "#007acc" # opacity "100" } element "Main Account" { border "solid" strokeWidth "0" #stroke "black" } element "Main Account" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Main Account" { fontSize "18" color "white" } element "Account" { shape "Circle" width "200" height "75" background "white" # opacity "100" } element "Account" { border "solid" strokeWidth "0" stroke "black" } element "Account" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Account" { fontSize "18" color "black" } element "Type Transfer" { shape "box" width "260" height "120" background "white" opacity "100" } element "Type Transfer" { border "dashed" strokeWidth "0" stroke "black" } element "Type Transfer" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Type Transfer" { fontSize "20" color "black" } element "Button" { shape "roundedbox" width "260" height "120" background "black" opacity "100" } element "Button" { border "solid" strokeWidth "0" # stroke "blue" } element "Contract" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Button" { fontSize "16" color "white" } element "Person" { shape "Person" width "200" height "200" background "#08427B" opacity "100" } element "Person" { border "solid" strokeWidth "0" stroke "#08427B" } element "Person" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Person" { fontSize "20" color "white" } element "Architectures softwaresystem" { shape "RoundedBox" width "450" height "300" background "white" # opacity "100" } element "Architectures softwaresystem" { border "solid" strokeWidth "5" stroke "black" } element "Architectures softwaresystem" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Architectures softwaresystem" { fontSize "26" color "black" } element "Button state" { shape "roundedbox" width "260" height "120" background "white" opacity "100" } element "Button state" { border "dashed" strokeWidth "0" stroke "black" } element "Button state" { description true metadata true # icon } element "Button state" { fontSize "16" color "black" } element "Select" { shape "box" width "350" height "175" background "white" opacity "100" } element "Select" { border "dashed" strokeWidth "0" stroke "black" } element "Select" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Select" { fontSize "20" color "black" } element "Business processes softwaresystem" { shape "RoundedBox" width "450" height "300" background "white" # opacity "100" } element "Business processes softwaresystem" { border "solid" strokeWidth "5" stroke "#11bb66" } element "Business processes softwaresystem" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Business processes softwaresystem" { fontSize "26" color "#11bb66" } element "Group:Transaction request prompt" { #color #ff0000 fontsize 21 } } } }