nixin-farm/README.md
2024-10-23 19:15:11 +02:00

57 lines
1.8 KiB
Markdown

# NixiN Farm Loco POC
This project is an experiment to evaluate the [loco-rs framework](https://loco.rs/docs))
## Dev environment
## Install Rust
If you are on NixOS, there is a shell.nix at the root of the project. You just have to run `nix-shell` to get a rust environment
Otherwize, go to https://www.rust-lang.org/tools/install for instructions to install Rust
You will also need open ssl development library (`apt install libssl-dev` on debian/ubuntu)
# Install Loco
```sh
$ cargo install loco-cli
$ cargo install sea-orm-cli
```
# Run a sub project for test/debug
change directory to the subproject and run it using `cargo loco start`. For exemple :
```sh
$ cd nixin_farm_ssr
$ cargo loco start
```
# Test / Debug
To test the app with a web browser point it to http://localhost:5150
To register a user from the command line :
```sh
curl --location 'localhost:5150/api/auth/register'
--header 'Content-Type: application/json'
--data-raw '{
"name": "test",
"email": "test@nixin.local",
"password": "Test"
}'
```
To test user login from the command line :
```sh
curl --location 'localhost:5150/api/auth/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "test@nixin.local",
"password": "Test"
}'
```
# Update loco
To update loco-rs Use `cargo interactive-update` to update all dependencies. Do not forget to also do it inside the migration sub folder
```sh
$ # install cargo-interactive-update if it is not already installed
$ cargo install cargo-interactive-update
$ # then launch it (from a sub project directory)
$ cargo interactive-update
$ # select all the available updates in the TUI and apply them
$ # then go to the migration sub folder and do the same
$ cd migration
$ cargo interactive-update
```