• Stars
    star
    400
  • Rank 107,843 (Top 3 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Real-time UI for bots and tools

RillRate

Real-time UI for bots, microservices, and IoT

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

Check the demo here.

Fast, embedded, with auto-layout and controls. No configuration is needed.

  • 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.