Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rillrate-fossil/rillrate

Real-time UI for bots and tools
https://github.com/rillrate-fossil/rillrate

async bots charts dashboard iot microfrontend microservice protocol realtime rust streaming ui ui-components yew

Last synced: 4 days ago
JSON representation

Real-time UI for bots and tools

Awesome Lists containing this project

README

        

## 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](https://demo.rillrate.com).

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][sponsor] to see how the project is born. Sponsors also get
access to sources of the UI dashboard that made with the [Yew][yew] Framework.

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

Follow us on [Twitter][twitter] and watch or participate weekly competitions.

### How to use it?

Add a dependency to your `Cargo.toml`:

```toml
[dependencies]
rillrate = "0.41.0"
```

Install the **rillrate** engine in the `main` function:

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

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

```rust
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:

```rust
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][yew] Framework (frontend)
- [meio][meio] actor framework (backend)

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


### License

**RillRate** is provided under the _Apache-2.0_ license. See [LICENSE](LICENSE).

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

[reddit]: https://reddit.com/r/rillrate/
[twitter]: https://twitter.com/rillrate/
[sponsor]: https://github.com/sponsors/rillrate
[nitrogen]: https://nitrogenproject.com/
[yew]: https://github.com/yewstack/yew
[meio]: https://github.com/rillrate/meio
[rillrate-rs]: https://github.com/rillrate/rillrate
[rillrate-py]: https://github.com/rillrate/rillrate-py