From 81ec8ffc770ed805243820d3adced975a88bd2c0 Mon Sep 17 00:00:00 2001 From: lilly Date: Mon, 9 Nov 2026 11:42:12 +0100 Subject: [PATCH] add ascii communication diagram --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 03e970d..d576019 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,31 @@ The appliction is implemented using the following different components: - When a user logs in with the `dooris` user now, they are always dropped into the `ssh-cli` binary. This works in cases where a command is specified on the users cli or where it isn't. In any case, the `ssh-cli` binary interprets the given command (via the `SSH_ORIGINAL_COMMAND` environment variable), figures out what to do, and contacts the running API with the configured credentials to do it. +### Communication Diagram + +```text +┌─────────────────┐ ┏━━━━━━━━━━━━━━┓ +│ web browser │ ┃ dooris-api ┃ +├┈┈┈┈┈┈┈with┈┈┈┈┈┈┤ ┣┉┉┉┉┉with┉┉┉┉┉┫ ┌──────────┐ +│ dooris-frontend │ ╌ ╌ ⇆ ╌ ╌ ┃ http server ┃ ╭ ╌ ╌ → ╌ ╌ │ SpaceApi │ +└─────────────────┘ ╭╌ ┃ ┃ ╎ └──────────┘ + ╎ ┣┉┉┉┉┉and┉┉┉┉┉┉┫ ╎ ┌───────────┐ ┌───────────┐ ┌──────────┐ + ╎ ┃ http client ┃ ╯ ╭╌ ⇆ ╌ ╌ │ homematic │ ╌ ⇆ ╌ │ homematic │ ╌ ⇆ ╌ │ physical │ + ╎ ┃ ┃ ╌╌ ╯ ╭ ← ╌ │ ccujack │ │ daemon │ │ lock │ + ⇅ ┣┉┉┉┉┉and┉┉┉┉┉┉┫ ╎ └───────────┘ └───────────┘ └──────────┘ + ╎ ┃ mqtt client ┃╌ ← ╌ ╯ ┌────────────────┐ + ╎ ┃ ┃ ╌ ╌ ╌ → ╌ ╌ │ Club-Assistant │ + ╎ ┗━━━━━━━━━━━━━━┛ └────────────────┘ + ╎ + ╰ ╌ ╌ ╌ ╌ ╌ ⇄ ╌ ╌ ╌ ╌ ╮ +┌────────────┐ ┌──────────────────┐ ╎ +│ SSH client │ ╌ ╌ ╌ ⇆ ╌ ╌ ╌│ dooris "ssh-cli" │ ╯ +└────────────┘ └──────────────────┘ +``` + +- Boxes indicate a discrete daemon or running piece of software. Those sometimes include subcomponents of that daemon for clarity. +- Dotted connections indicate information flow while the arrows indicate the direction of that flow + ## Configuration The final application can be configured either via CLI arguments or via environment variables.