No description
  • Rust 94.5%
  • Nix 4.4%
  • CSS 0.7%
  • Dockerfile 0.3%
  • JavaScript 0.1%
Find a file
JMARyA ddf74c1e2a
feat: rework client around instance/transaction API
Replace the old consume/supply/transaction pages with a page set
mirroring the current cdb server: instances, inventory, flows,
flow-runs, shopping list, warnings, account, and admin (users/tokens).
Largely rewrite api.rs to match the server's routes and JSON shapes,
and enable chrono's serde feature for the shared types.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 23:38:54 +02:00
.cargo fix 2025-07-09 16:26:13 +02:00
.woodpecker ci: merge 2025-12-19 00:22:01 +01:00
assets work 2025-05-28 15:43:50 +02:00
src feat: rework client around instance/transaction API 2026-06-15 23:38:54 +02:00
.gitignore work 2025-05-28 15:43:50 +02:00
build.rs chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
Cargo.lock feat: rework client around instance/transaction API 2026-06-15 23:38:54 +02:00
Cargo.toml feat: rework client around instance/transaction API 2026-06-15 23:38:54 +02:00
Containerfile chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
Dioxus.toml init 2025-05-25 20:03:42 +02:00
flake.lock chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
flake.nix chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
nginx.conf fix 2025-06-07 22:15:44 +02:00
README.md chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
rust-toolchain.toml chore: modernize tooling, real dioxus devshell, drop myverse 2026-06-15 18:54:01 +02:00
tailwind.config.js init 2025-05-25 20:03:42 +02:00
tailwind.css feat: user auth 2025-12-14 06:06:45 +01:00

CDB Client

A Dioxus web client for CDB.

Development

The project ships a Nix flake with a complete development shell — a pinned Rust
toolchain (with the wasm32-unknown-unknown target), the matching dx
(dioxus-cli), wasm-bindgen, tailwindcss, and the native libraries needed for
the optional desktop build.

nix develop

Then run the web app with hot reload:

dx serve --platform web

To produce a production bundle (output under target/dx/cdb_client/release/web/public):

dx bundle --platform web --release --debug-symbols false

--debug-symbols false strips DWARF debug info, which otherwise crashes
binaryen's wasm-opt during release optimization.

Tailwind CSS is compiled automatically by build.rs (it shells out to the
tailwindcss binary provided by the dev shell), so there's no separate watch
step to run.

Without Nix

If you prefer not to use Nix, you'll need to match the versions yourself:

  • Rust (stable) with the wasm32-unknown-unknown target
  • dioxus-cli 0.7.9
  • wasm-bindgen-cli 0.2.125
  • tailwindcss 3.x

Build & Deploy

The flake builds a reproducible production artifact and a self-contained nginx
container image (no external/private flake dependencies):

nix build .#cdb_client       # static site -> result/public
nix build .#containerImage   # OCI image serving the site via nginx

Project layout

.
├─ assets/          # static assets (favicon, CSS); tailwind.css is generated
├─ src/
│  ├─ main.rs       # app entry point + routing
│  ├─ api.rs        # backend API client
│  ├─ page/         # routed pages
│  ├─ qrscan.rs     # QR code scanning
│  ├─ setup.rs      # initial credential setup
│  └─ store.rs      # local storage helpers
├─ flake.nix        # dev shell + build + container
├─ rust-toolchain.toml
└─ Dioxus.toml