rewire bootstrap with SQLite, HTTP API, and real polling

bootstrap: SQLite config, HTTP API on :3000, TCP on :2699, poll loops.
http-api: added serve() so bootstrap doesn't depend on axum directly.
polling: reads data sources from config, polls via http-json adapter,
pushes changed widgets to connected clients.

configure via API, e.g.:
  curl -X POST localhost:3000/api/data-sources -H 'Content-Type: application/json' -d '{...}'
  curl -X PUT localhost:3000/api/layout -H 'Content-Type: application/json' -d '{...}'
This commit is contained in:
2026-06-18 23:12:05 +02:00
parent af47e3939c
commit 15b75d860c
9 changed files with 135 additions and 85 deletions

View File

@@ -34,6 +34,7 @@ tcp-server = { path = "crates/adapters/tcp-server" }
tcp-client = { path = "crates/adapters/tcp-client" }
display-terminal = { path = "crates/adapters/display-terminal" }
config-sqlite = { path = "crates/adapters/config-sqlite" }
http-json = { path = "crates/adapters/http-json" }
http-api = { path = "crates/adapters/http-api" }
axum = { version = "0.8", features = ["macros"] }
tower-http = { version = "0.6", features = ["cors"] }