Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

typeboard

Rust Tokio Axum React License

typeboard aims to send and receive API signals in Rust, then visualize them on a dashboard.

The repo currently ships a minimal scaffold (Axum API + React UI). Over time it will grow into a practical playground for real-world Rust backend patterns—async I/O, HTTP stacks, CPU-bound parallelism, observability, and more.


Goals

  • Own signal ingress/egress in Rust (HTTP, events, and related I/O) with Axum / Tokio
  • Monitor and visualize those signals on a frontend dashboard
  • Move beyond toy demos: adopt production-minded patterns for persistence, caching, observability, auth, and deploy—step by step

Getting started

API (api/, port 3002)

cd api
cargo run

Starter backend (backend/, port 3001)

cd backend
cargo run

Frontend (frontend/, port 5173)

cd frontend
npm install
npm run dev

Open http://localhost:5173 and use the button to fetch a message from the backend.


Planned Rust ecosystem

Priorities may shift, but the direction is to layer in mature crates from the Rust async and web ecosystem.

Core async & HTTP

Area Crate / project Role
Async runtime Tokio Tasks, timers, networking, concurrency
Futures primitives futures-rs Combinators, streams, and Future utilities beyond Tokio’s surface
Async traits async-trait async fn in traits for service boundaries and handlers
Low-level HTTP hyper HTTP/1–2 client/server foundation under Axum / reqwest
HTTP routing Axum + Tower API surface, middleware, backpressure
HTTP client reqwest Outbound calls to internal/external services
Serialization serde Request/response JSON and config

Parallelism & UI direction

Area Crate / project Role
Data-parallel CPU work rayon Parallel iterators / thread-pool work off the async runtime
Full-stack reactive UI (explore) Topcoat Server-rendered reactive web apps in Rust (complementary to the React dashboard)

Ops & product surface

Area Candidates Role
Database sqlx (+ PostgreSQL) Durable storage
Cache / locks Redis Sessions, rate limits, short-lived queues
Realtime WebSocket / SSE Live dashboard updates
Observability tracing, metrics Logs, traces, metrics
Config config / dotenv Environment-specific settings
Auth JWT (and related) Protect APIs and the dashboard
Deploy Docker Compose Local and staging bring-up

Study notes live under docs/:

About

typeboard aims to send and receive API signals in Rust, then visualize them on a dashboard.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages