Files
yugioh-inventory/README.md

112 lines
2.1 KiB
Markdown

# 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`