# 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 Otherwise, go to https://www.rust-lang.org/tools/install for instructions to install Rust You will also need the 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 one sub-project 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 ```