# Hero Books: Backend Work and Dioxus Frontend Integration #4

Closed
opened 2026-02-05 16:30:13 +00:00 by mik-tf · 2 comments
Owner

Hero Books: Dioxus Frontend Integration

Assignee: Mik
Branch: development_dioxus
Priority: High


Goal

Make Hero Books work, then add a Dioxus frontend following the archipelago pattern.


What This Delivers

  1. Working hero_books backend - Builds on Ubuntu, runs on port 8883
  2. Schema-based API - OSchema definition in hero_osis, SDK generated
  3. Dioxus frontend - <hero-books-island> web component for browsing docs

Phases

Phase 1: Get Books Working

Checkpoint: Review with Kristof before proceeding

Task Current State Required State
Dependencies Local Mac paths Git URLs (CI builds)
Binary names books_server hero_books
Port 9567 8883
RPC endpoint /rpc /api/{context}/books/rpc

Verify: cargo build --release succeeds on Ubuntu

Phase 2: Add Schema (hero_osis)

  • Add specs/schemas/books/books.oschema
  • Add books feature flag
  • SDK generates BooksClient

Phase 3: Dioxus Island (hero_archipelagos)

  • Create archipelagos/intelligence/books/
  • Follow calendar/knowledge island patterns exactly
  • Uses hero_osis-sdk = { features = ["books"] }

Phase 4: Integration Test

  • Backend serves collections via /api/{ctx}/books/rpc
  • Island displays collections and pages
  • End-to-end works

Architecture

Browser
   │
   ▼
<hero-books-island>        ◄── Dioxus WASM (hero_archipelagos)
   │
   │  /api/{context}/books/rpc
   ▼
hero_books server          ◄── Rust backend (port 8883)

Notes

  • macOS: Manual testing only (no CI runners for security)
  • Changes: Minimal - follow existing patterns
# Hero Books: Dioxus Frontend Integration **Assignee:** Mik **Branch:** `development_dioxus` **Priority:** High --- ## Goal Make Hero Books work, then add a Dioxus frontend following the archipelago pattern. --- ## What This Delivers 1. **Working hero_books backend** - Builds on Ubuntu, runs on port 8883 2. **Schema-based API** - OSchema definition in hero_osis, SDK generated 3. **Dioxus frontend** - `<hero-books-island>` web component for browsing docs --- ## Phases ### Phase 1: Get Books Working **Checkpoint: Review with Kristof before proceeding** | Task | Current State | Required State | |------|---------------|----------------| | Dependencies | Local Mac paths | Git URLs (CI builds) | | Binary names | `books_server` | `hero_books` | | Port | 9567 | 8883 | | RPC endpoint | `/rpc` | `/api/{context}/books/rpc` | **Verify:** `cargo build --release` succeeds on Ubuntu ### Phase 2: Add Schema (hero_osis) - Add `specs/schemas/books/books.oschema` - Add `books` feature flag - SDK generates `BooksClient` ### Phase 3: Dioxus Island (hero_archipelagos) - Create `archipelagos/intelligence/books/` - Follow calendar/knowledge island patterns exactly - Uses `hero_osis-sdk = { features = ["books"] }` ### Phase 4: Integration Test - Backend serves collections via `/api/{ctx}/books/rpc` - Island displays collections and pages - End-to-end works --- ## Architecture ``` Browser │ ▼ <hero-books-island> ◄── Dioxus WASM (hero_archipelagos) │ │ /api/{context}/books/rpc ▼ hero_books server ◄── Rust backend (port 8883) ``` --- ## Notes - **macOS:** Manual testing only (no CI runners for security) - **Changes:** Minimal - follow existing patterns
Author
Owner

Update

  • Most of the work is done

  • rhai/rust scripts for example

  • make run works out of the box (with args set for API AI keys)

  • process and display and search with different librairies, e.g. ourworld, mycelium, as namespace so you can search by librairies

  • minimal changes, focused

  • working with hashes, don't need to reprocess if hash is the same

  • can do with path or url (e.g. local content or from git/forgejo/gitea repo)

  • clear README.md straight to the point

TODO

  • Verify cross compilation book
  • Process ourworld, mycelium, geomind collections
    • Will create .ai/ dir
  • Turn iframe into wasm with Archipelagos, coordinated with @timur
# Update - Most of the work is done - rhai/rust scripts for example - make run works out of the box (with args set for API AI keys) - process and display and search with different librairies, e.g. ourworld, mycelium, as namespace so you can search by librairies - minimal changes, focused - working with hashes, don't need to reprocess if hash is the same - can do with path or url (e.g. local content or from git/forgejo/gitea repo) - clear README.md straight to the point # TODO - Verify cross compilation book - Process ourworld, mycelium, geomind collections - Will create .ai/ dir - Turn iframe into wasm with Archipelagos, coordinated with @timur
Author
Owner

Screenshots

image

image

image

image

# Screenshots ![image](/attachments/c55f9386-5735-4d72-a860-01de51de478c) ![image](/attachments/8dc84b29-70ce-430f-97e8-4ae33988817a) ![image](/attachments/7eb72ef8-2116-4c0f-ab5b-25643cccc8b4) ![image](/attachments/5a8b7afd-25cf-4613-92f4-92c074899529)
mik-tf changed title from # Hero Books: Dioxus Frontend Integration to # Hero Books: Backend Work and Dioxus Frontend Integration 2026-02-06 15:43:49 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_books#4
No description provided.