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
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-router0.19 - API calls:
gloo::net::http::Request(not reqwest — wasm32 incompatible) - Auth storage:
sessionStorageviaweb_sys— key:auth_code_{quote_id} - CSS: Plain CSS, BEM naming (no Tailwind)
- SPA routing:
_redirectsfile (/* /index.html 200) copied todist/by Trunk