Architecture 03 Context And Scope - lukislp/mowdeck GitHub Wiki
3. Context and scope
Business context
Users operate their mowers through the web app, Home Assistant or other API clients. The platform talks to mowers through the Device-Gateway only, using Bluetooth bridges or (later) WLAN.
System context (C4 level 1)
flowchart LR
user["User / sub-user"]
ha["Home Assistant (HACS integration)"]
ext["Other API clients"]
operator["Platform operator"]
mower["Mammotion mower"]
bridge["ESP32 bridge"]
weather["Weather service (Open-Meteo)"]
pay["Payment provider (Stripe), optional"]
push["Push / ntfy / e-mail"]
subgraph mowdeck["MowDeck platform"]
core["Services, event bus, databases"]
end
user -->|"web app (PWA)"| core
ha -->|"REST + WebSocket, API token"| core
ext -->|"public API /api/v1"| core
operator -->|"operator console"| core
bridge -->|"outbound TLS, device secret"| core
bridge <-->|"Bluetooth"| mower
core -->|"future: WLAN via PyMammotion"| mower
core --> weather
core --> pay
core --> push
Technical context
| Interface | Technology | Direction |
|---|---|---|
| Public API | REST under /api/v1 and WebSocket, through Traefik |
clients to platform |
| Bridge link | outbound TLS connection with a device secret | bridge to Device-Gateway |
| Mower | Bluetooth (bridge) or WLAN, via PyMammotion | Device-Gateway to mower |
| Internal bus | NATS JetStream | between services |
| Payment | Stripe adapter (Checkout, customer portal, signed webhooks) | Billing to provider |
| Notifications | Web Push, ntfy, e-mail | Notifications to channels |
| Weather | Open-Meteo adapter | Scheduler to provider |
Mirrored from docs/architecture/03-context-and-scope.md at commit 6a87264c6123f07c8474e153053525dc1816feb7. Edit the file in the repository, not this wiki page.