diff --git a/xactmon/architecture.d2 b/xactmon/architecture.d2 new file mode 100644 index 0000000..d2e1b78 --- /dev/null +++ b/xactmon/architecture.d2 @@ -0,0 +1,86 @@ +internet: "" { + shape: cloud + + fastmail: FastMail { + icon: "fastmail.png" + icon.near: top-left + label.near: bottom-center + } + + fastmail.dustin: "Dustin's Mailbox" { + shape: stored_data + } + + fastmail.tabitha: "Tabitha's Mailbox" { + shape: stored_data + } + + chase: Chase + chase -> fastmail.dustin + + hsa_bank: HSA Bank + hsa_bank -> fastmail.dustin + + commerce: Commerce Bank + commerce -> fastmail.dustin + commerce -> fastmail.tabitha +} + + +receiver: JMAP Receiver { + icon: rust-logo-blk.svg + shape: step +} + +processor: Processor { + icon: rust-logo-blk.svg + shape: step +} + +rules: "Processor\nRules" { + shape: page +} + +firefly_importer: Firefly III Importer { + icon: rust-logo-blk.svg + shape: step +} + +invoiceninja_importer: Invoice Ninja Importer { + icon: rust-logo-blk.svg + shape: step +} + +firefly: Firefly III { + icon: firefly-iii.png +} + +invoiceninja: Invoice Ninja { + icon: invoiceninja.png +} + +rabbitmq: RabbitMQ { + icon: rabbitmq-logo.svg + label.near: bottom-center + shape: queue +} + +internet.fastmail.dustin -> receiver +internet.fastmail.tabitha -> receiver + +receiver -> rabbitmq: xactmon.notifications.default +receiver -> rabbitmq: xactmon.notifications.hlc + +rabbitmq -> processor: "xactmon.notifications.#" + +processor -> rabbitmq: xactmon.transactions.default +processor -> rabbitmq: xactmon.transactions.hlc + +rabbitmq -> firefly_importer: xactmon.transactions.default +rabbitmq -> invoiceninja_importer: xactmon.transactions.hlc + +firefly_importer -> firefly: Personal Finance + +invoiceninja_importer -> invoiceninja: Business Expenses + +rules -> processor diff --git a/xactmon/architecture.svg b/xactmon/architecture.svg new file mode 100644 index 0000000..856613f --- /dev/null +++ b/xactmon/architecture.svg @@ -0,0 +1,131 @@ +JMAP ReceiverProcessorProcessorRulesFirefly III ImporterInvoice Ninja ImporterFirefly IIIInvoice NinjaRabbitMQFastMailChaseHSA BankCommerce BankDustin's MailboxTabitha's Mailbox xactmon.notifications.defaultxactmon.notifications.hlcxactmon.notifications.#xactmon.transactions.defaultxactmon.transactions.hlcxactmon.transactions.defaultxactmon.transactions.hlcPersonal FinanceBusiness Expenses + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xactmon/fastmail.png b/xactmon/fastmail.png new file mode 100644 index 0000000..a6543ce Binary files /dev/null and b/xactmon/fastmail.png differ diff --git a/xactmon/firefly-iii.png b/xactmon/firefly-iii.png new file mode 100644 index 0000000..c9ea570 Binary files /dev/null and b/xactmon/firefly-iii.png differ diff --git a/xactmon/invoiceninja.png b/xactmon/invoiceninja.png new file mode 100644 index 0000000..5141cd4 Binary files /dev/null and b/xactmon/invoiceninja.png differ diff --git a/xactmon/rabbitmq-logo.svg b/xactmon/rabbitmq-logo.svg new file mode 100644 index 0000000..be81523 --- /dev/null +++ b/xactmon/rabbitmq-logo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/xactmon/rust-logo-blk.svg b/xactmon/rust-logo-blk.svg new file mode 100644 index 0000000..1a6c762 --- /dev/null +++ b/xactmon/rust-logo-blk.svg @@ -0,0 +1 @@ + \ No newline at end of file