112 lines
2.1 KiB
Markdown
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`
|