rillrate

Crates.iorillrate
lib.rsrillrate
version0.41.0
sourcesrc
created_at2021-01-10 20:46:35.409388
updated_at2021-09-26 09:05:19.092703
descriptionReal-time UI for bots
homepagehttps://github.com/rillrate/rillrate
repositoryhttps://github.com/rillrate/rillrate
max_upload_size
id339390
size15,318
overfloat (overfloat)

documentation

https://docs.rs/rillrate/

README

RillRate

Real-time UI for bots, microservices, and IoT

RillRate is a library that embeds a live web dashboard to your app.

Fast, embedded, with auto-layout and controls. No configuration is needed. Support: Rust, Python. Soon: Node.js, Java, C#.

  • It's fully custom - You add your own data streams with everything you want
  • It works in real-time! - NOT 5 secs real-time, it's 0.002 secs real-time 🚀
  • Zero-configuration - you don't need to install and configure any other software
  • Web-dashboard included - add the library to your app and connect to the dashboard with a web browser
  • Ferris-friendly - we created it using Rust only: from backed to UI 🦀

Become a sponsor to see how the project is born. Sponsors also get access to sources of the UI dashboard that made with the Yew Framework.

Join our reddit/rillrate community to stay tuned about all the new features we released every day!

Follow us on Twitter and watch or participate weekly competitions.

How to use it?

Add a dependency to your Cargo.toml:

[dependencies]
rillrate = "0.41.0"

Install the rillrate engine in the main function:

rillrate::install("my-app");

And create a Tracer to visualize data on the embedded dashboard:

let my_tracer = Pulse::new(
    "package.dashboard.group.tracer-name",
    FlowMode::Realtime,
    PulseOpts::default().min(0).max(50).higher(true)
);

When you tracer is spawned use it to put data to it:

tracer.push(value);

Packs

RillRate provides packs of components for different purposes.

Released:

  • Prime - basic elements

In progress:

  • APM - components for performance monitoring
  • Charts - all basic charts
  • Trade - live components for trading (order books, charts, etc.)

Project structure

The project consists of the following parts:

  • pkg-core (backend) - core components and the engine
  • pkg-dashboard (frontend) - the dashboard app and rendering routines
  • pkg-packs - tracers for different data stream types
  • rillrate - the main library that joins all the parts above
  • demo - the demo app

Frameworks

We use the following frameworks to build our product:

  • Yew Framework (frontend)
  • meio actor framework (backend)

The original idea was inspired by Nitrogen Web Framework (Erlang).


License

RillRate is provided under the Apache-2.0 license. See LICENSE.

The project is the Full-stack Rust app: both frontend and backend made with Rust.

Commit count: 1618

cargo fmt