39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# 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.
|
|
|
|
## 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.
|
|
|
|
## 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.
|
|
|
|
# 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
|
|
``` |