diff --git a/README.md b/README.md index 66a7ac4..bd96e92 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,58 @@ # vesys bank servers and clients + Implementations of a simple bank server for the 2022 vesys class at FHNW. -Please note that the writer is in no way an experienced or even professional rust developer (hence the cloning everywhere) and -most of this was written in a hurry. Parts of the code might sneak into your house in bright daylight and marry your cat -to run off with them to Greenland or wherever it is they go for their honeymoon. +Please note that the writer is in no way an experienced or even professional rust developer (hence the cloning +everywhere) and most of this was written in a hurry. Parts of the code might sneak into your house in bright daylight +and marry your cat to run off with them to Greenland or wherever it is they go for their honeymoon. ## socket-server + Use an on-the-fly invented byte protocol. Consult the code for documentation. ## http-server -An http implementation, using [actix-web](https://actix.rs/), wanted to try that for a while now. -Again, consult the code for information on how the routes work. + +An http implementation, using [actix-web](https://actix.rs/), wanted to try that for a while now. Again, consult the +code for information on how the routes work. ## http-client -An experimental client for the http-server, built with rust, [yew](https://yew.rs/) and the power of web assembly. -First time I am trying this, there is probably even more wrong with it than with the server implementations. + +An experimental client for the http-server, built with rust, [yew](https://yew.rs/) and the power of web assembly. First +time I am trying this, there is probably even more wrong with it than with the server implementations. # Usage + ## Servers + Run it like you would with any [cargo workspace](https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html) project. For example, starting the http-server variant, with debug logging and compiled in release mode: + ``` RUST_LOG=debug cargo run --release --bin http-server ``` ## http client + [Trunk](https://trunkrs.dev/) is used for wasm bundling. Local development with auto-reload: + ``` trunk serve ``` Build for release (the built artifacts can be found in `dist`): + ``` trunk build --release ``` # Releases + Release binaries are built for multiple architectures (always statically compiled): -- x86_64-unknown-linux-musl (needs ``) +- x86_64-unknown-linux-musl (needs `x86_64-linux-musl-gcc`) - aarch64-unknown-linux-musl (needs `aarch64-linux-musl-gcc` and `aarch64-linux-musl-gcc`) - x86_64-pc-windows-gnu (needs `x86_64-w64-mingw32-gcc`) - wasm32-unknown-unknown (needed for the http-client) @@ -51,9 +62,9 @@ These are the target triplet names as they are used by rustup (add them with `ru To make it more convenient to build, a makefile is provided. Use the following targets for it: - linux-x86_64-musl -- linux-aarch64-musl -- windows-gnu +- linux-aarch64-musl +- windows-gnu - http-client -The `default` and `all` targets build all of them. After a successful build, everything is copied into -the `release` folder. +The `default` and `all` targets build all of them. After a successful build, everything is copied into the `release` +folder.