Files
yugioh-inventory/README.md

2.1 KiB

Installing requirements

1. Install rust:

Windows:

Download installer from https://www.rust-lang.org/tools/install

Unix based systems:

Run curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh

2. Install npm

Windows:

https://nodejs.org/en (todo look into:) https://pnpm.io/

npm i -D daisyui@latest

Unix based systems:

sudo apt install nodejs

sudo apt install npm

npm i -D daisyui@latest

For easy UI see:

https://daisyui.com/components/button/

3. Install Perseus, for real-time updates while developing

cargo install perseus-cli

(temporarily broken, if this doensn't work run cargo install perseus-cli --locked )

rustup target add wasm32-unknown-unknown

rustup target add wasm32-unknown-unknown

4. Install docker for Postgresql

5. Install SeaORM for database

cargo install sea-orm-cli@1.0.0-rc.5

6. Install tailwindcss, for styling

npm install -D tailwindcss

Also take a look at

Website: https://framesurge.sh/perseus/en-US/

Simple tutorial: https://blog.logrocket.com/building-rust-app-perseus/

Building the project

To set up the database, run: $env:DATABASE_URL = "postgres://yugi:yugi@localhost:5432/yugi_app"; sea-orm-cli migrate up

Updating entities after updating database: $env:DATABASE_URL = "postgres://yugi:yugi@localhost:5432/yugi_app"; sea-orm-cli generate entity -o src/entity --with-serde both

To build CSS run: npm run build

To build the project for testing, run perseus serve --verbose

For server logging:

Windows: $Env:RUST_LOG = "info"

Linux: export RUST_LOG=info

For printing polars tables:

See https://docs.rs/polars/latest/polars/#config-with-env-vars

Default Windows:

$Env:RUST_LOG = "info"; $Env:POLARS_FMT_MAX_COLS = "100"; $Env:POLARS_TABLE_WIDTH = "200";

Deploying the project

First run perseus deploy

For windows local testing, you can use:

sudo New-Item -ItemType SymbolicLink -Name 'card_downloader' -Target '.\..\card_downloader'

sudo New-Item -ItemType SymbolicLink -Name 'data' -Target '.\..\data'

For ubuntu, use:

TODO

The folder with everything necessary will be in /pkg