Web interface for Eva
Let algorithms decide your life.
This project hasn't reached an alpha state yet. At the moment, it is just a tiny web interface around a simple scheduling algorithm. Some people already find this useful however, so maybe you do too!
You can freely use the version available on procrat.github.io/eva-web.
If you enjoy it so far and want to say thanks, you can buy me a coffee ☕.
This project is made up of two parts:
- a small wrapper in Rust around the eva crate
that interfaces with non-Rust languages using JSON messages. The root of this
part is in
backend
. - a Vue.js front-end that interacts with a WebAssembly build of the Rust wrapper.
If you haven't built a Rust project before, install
rustup, and run rustup install nightly
to install the
latest nightly version of Rust.
If you haven't run a JavaScript project before, install npm.
Install wasm-bindgen-cli
of the
same version as wasm-bindgen
in the Cargo.lock
file. This program is used to
generate JavaScript wrapper functions for our wasm build:
cargo install --version <same-version-as-wasm-bindgen> wasm-bindgen-cli
# Install the Rust and JavaScript dependencies once
make dependencies
# Make the wasm build with JavaScript wrapper and start a development server
# with hot reloading at localhost:8080
make