X-Git-Url: https://git.euphorik.ch/?a=blobdiff_plain;f=README.md;h=cb02d2c37719e813142052abc77be30fb2f1455a;hb=refs%2Fheads%2Fmaster;hp=120c61003a6bb83586b93f26523f66a39955dd75;hpb=e6a0055ac1429d96ce37ab593e571a67b63dec63;p=recipes.git diff --git a/README.md b/README.md index 120c610..590a690 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,65 @@ -== Autoreload - -https://actix.rs/docs/autoreload/ - - -== Documentation - -* Rust patterns : https://github.com/rust-unofficial/patterns/tree/master/patterns -* Rusqlite (SQLite) : https://docs.rs/rusqlite/0.20.0/rusqlite/ +# Technical + +## Backend + +### Launch Axum + +In directory '/backend' type: + $> cargo run + +Then browse http://127.0.0.1:8082 (You need to compile the wasm file first, see section 'Frontend') + +At first launch the configuration file '/backend/conf.ron' is created. It contains the port the server will listen to and information about the SMTP server which will be used to send email when a user sign up or change its password. + +### Autoreload + +First install cargo watch: + $> cargo install cargo-watch + +In directory '/backend' type: + $> cargo watch -x run + + +## Frontend + +### Tools needed + +nushell: https://www.nushell.sh/ +trunk: https://trunkrs.dev + +### Compilation + +In directory '/frontend' type: + $> nu deploy.nu + +It will create the '/frontend/pkg' directory and copy the wasm file into '/backend/static'. +You can now refresh your browser to reload the wasm file. + +# How-to + +## How to install service on a Linux server + +As root: + +1. Copy '/doc/recipes.service' to '/lib/systemd/system/' +2. Enabled it: #> systemctl enable recipes +3. Launch it: #> systemctl start recipes + +## Cross compile for Raspberry PI on Windows + +* $> https://gnutoolchains.com/raspberry/ +* https://gnutoolchains.com/raspberry64/ + +# Useful URLs + +* Rust patterns: https://github.com/rust-unofficial/patterns +* Rust cheat Sheet: https://cheats.rs/ +* HTML Validation Service: https://validator.w3.org/ +* Site analysis: https://pagespeed.web.dev/ +* Open-Source UI: https://uiverse.io/ + +# Useful tools + +HTTP benchmarking and stress tool: https://crates.io/crates/oha +HTTP API tool: https://www.usebruno.com/ +GUI Database client: https://dbeaver.io/