You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.2 KiB

quotesdb UI

Yew/Wasm single-page application for browsing and submitting quotes. Compiled by Trunk and hosted on Cloudflare Pages.

Running locally

# Terminal 1 — start the API server
cargo run

# Terminal 2 — start the Trunk dev server
trunk serve

Open http://localhost:8080. The Trunk proxy forwards /api/* to localhost:3000.

Building for production

trunk build --release

Output is in dist/. Deploy with:

wrangler pages deploy dist/ --project-name quotesdb-ui

Pages

Route Description
/ Home — random quote + Browse link
/browse Paginated list with author/tag filters
/quotes/:id Single quote — view, edit, delete
/author/:name All quotes by an author
/submit Create a new quote

Architecture

  • Framework: Yew 0.22 with yew-router 0.19
  • API calls: gloo::net::http::Request (not reqwest — wasm32 incompatible)
  • Auth storage: sessionStorage via web_sys — key: auth_code_{quote_id}
  • CSS: Plain CSS, BEM naming (no Tailwind)
  • SPA routing: _redirects file (/* /index.html 200) copied to dist/ by Trunk