Backend for the visualization platform: accounts, chart data, and sensor ingestion behind a single gateway.
Sibling repositories: visualization-view (frontend), visualization-device
(sensor firmware).
| Service | Port | Purpose |
|---|---|---|
registry |
7000 | Service discovery |
gateway |
8080 | HTTP entrypoint, proxies to the services below |
user |
8081 / 8091 | Accounts, OAuth2 |
content |
8083 | Chart data |
sensors |
8084 | Device registration and readings |
Requires vcpkg and a Clang/Ninja toolchain.
export VCPKG_ROOT=/path/to/vcpkg
cmake --preset linux-clang # or windows-clang-cl
cmake --build --preset linux-clang./build/linux-clang/services/registry/registry_server 7000
VSCPP_JWT_SECRET=change-me ./build/linux-clang/services/user/user_server 8081 8091 127.0.0.1 7000 user.db
./build/linux-clang/services/content/content_server 8083 127.0.0.1 7000 content.db
./build/linux-clang/services/sensors/sensors_server 8084 127.0.0.1 7000 sensors.db
./build/linux-clang/services/gateway/gateway_server 8080 127.0.0.1 7000Register the frontend's OAuth client once:
curl -X POST http://127.0.0.1:8080/api/user/clients \
-H "Content-Type: application/json" \
-d '{"id":"dashboard-web","public":true,"grants":["password","refresh_token"]}'content seeds two demo charts into a fresh database on first run.
ctest --preset linux-clang --output-on-failurelibs/ shared libraries (runtime, http, rpc, discovery, db, auth, ...)
services/ registry, gateway, user, content, sensors
tests/ one suite per lib/service