No description
- JavaScript 50.7%
- Rust 18.9%
- Shell 12.7%
- HTML 9.9%
- CSS 7.2%
- Other 0.6%
|
Some checks failed
CI / build (push) Failing after 3s
- UI routes: add X-Forwarded-Prefix middleware to inject WB_BASE for reverse-proxy sub-path support - JS (rpc.js, sync.js, markdown.js): prefix all fetch/WebSocket/navigation URLs with WB_BASE - Server RPC: add /health, /.well-known/heroservice.json, and /openrpc.json HTTP endpoints - main.rs: add kill_other socket cleanup for server and UI actions on service restart - Makefile: split logs into logs (server) and logs-ui (UI); add logs-ui target - README: update crate table, sockets section, and API domain overview - Add .forgejo/workflows/ci.yml for CI pipeline - Add crates/hero_whiteboard_examples/tests/integration.rs integration test suite Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| crates | ||
| schemas | ||
| scripts | ||
| .gitignore | ||
| buildenv.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| INSTRUCTIONS_TECH.md | ||
| Makefile | ||
| README.md | ||
| SPECIFICATIONS.md | ||
Hero Whiteboard
A collaborative visual whiteboard — brainstorm, diagram, plan, present, and document decisions on an infinite canvas with real-time and async collaboration.
Architecture
Hero Whiteboard follows the Hero three-crate model:
| Crate | Purpose |
|---|---|
hero_whiteboard_server |
Business logic, SQLite storage, OpenRPC API (Unix socket) |
hero_whiteboard_sdk |
JSON-RPC client for the server over Unix socket |
hero_whiteboard_ui |
End-user whiteboard UI + admin dashboard (Axum + Konva.js) |
hero_whiteboard_examples |
SDK usage examples and integration tests |
hero_whiteboard |
CLI for registering and managing services via hero_proc |
Sockets
| Service | Path |
|---|---|
| Server | ~/hero/var/sockets/hero_whiteboard_server.sock |
| UI | ~/hero/var/sockets/hero_whiteboard_ui.sock |
Quick Start
make build # Build all crates
make install # Install binaries to ~/hero/bin/
make run # Start server + UI
make status # Check service status
make logs # View server logs
make logs-ui # View UI logs
make stop # Stop all services
make restart # Restart all services
API
The server exposes a full JSON-RPC 2.0 API over the Unix socket. See the OpenRPC spec for all 45+ methods across these domains:
workspace.*— multi-tenant workspace managementboard.*— board CRUDobject.*— whiteboard objects (sticky notes, shapes, text, etc.)connector.*— arrows and connectors between objectscomment.*— threaded commentsshare.*— share links and tokensgroup.*— groups and permissionsuser.*— user managementrpc.health,rpc.discover— health and OpenRPC discovery
Documentation
- SPECIFICATIONS.md — Full functional specification
- INSTRUCTIONS_TECH.md — Technical implementation instructions