recipes/README.md
2025-04-05 13:41:06 +02:00

72 lines
1.8 KiB
Markdown

**Recipes** is a multi-user website to manage and publish cooking recipes.
# 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
trunk: https://trunkrs.dev
### Compilation
In directory /frontend type:
```$> trunk build```
It will create the wasm file in '/backend/static'.
You can now refresh your browser to reload the wasm file.
# How-to
## How to install service on a Linux server (with *systemd*)
As root:
1. Copy '/doc/recipes.service' to '/lib/systemd/system/'
2. Change the values of `User`, `WorkingDirectory` and `ExecStart`.
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
* nushell (.nu scripts): https://www.nushell.sh/
* HTTP benchmarking and stress tool: https://crates.io/crates/oha
* HTTP API tool: https://www.usebruno.com/
* GUI Database client: https://dbeaver.io/