Base desktop application code with Tauri, Native Web Components, and SurrealDB (follow the VMES app architecture)
See awesomeapp.dev for more info
Troubleshooting | Changelog | Discord Awesome App
Note: To enable persitent storage, edit the
src-tauri/Cargo.toml
to enable allsurrealdb
features.
For hot-reload UI and Tauri development, run the following in your VSCode from this root folder:
awesome-app dev
This assumes
awesome-app
was installed locally (e.g.,cargo install awesome-app
)
IMPORTANT - Requires node.js v8 and above.
awesome-app dev
will create an Awesome.toml
which will be the list of commands it will run (format is self-explanatory).
You can run the commands manually if you want, or see below for list of commands.
We recommend using awesome-app dev
but running each command manually might help troubleshoot.
IMPORTANT: Make sure to have node.js latest of 16 or above.
-
npm run tauri icon src-tauri/icons/app-icon.png
- This will build the application icons. -
npm run pcss
- This will build the postcss files (src-ui/pcss/**/*.pcss
). -
npm run rollup
- This will build and package the typescript files (src-ui/src/**/*.ts
). -
npm run localhost
- This will run a localhost server with thedist/
folder as root (frontend hot reload) -
In another terminal,
npm run tauri dev
- Will start the Tauri build and start the process.
-
Make sure to have node.js 18 or above.
-
If some cryptic errors, run the command above one by one.
-
If
npm tauri dev
commands fail, try to do:cd src-tauri
cargo build
- This might be an important first step when using full surrealdb (i.e., with default features and not only kv-mem)
-
It failed to compile and came up with the error
failed to download replaced source registry crates-io
. Deleting the cargo.lock file and package-lock.json file fixed it. -
Installing Tauri in case some issues:
# install latest tauri in case there is none
npm i -g @tauri-apps/cli @tauri-apps/api
On Fedora, and probably linux, the following needs to be present on the system.
dnf install gtk3-devel
dnf install webkit2gtk3-jsc-devel
dnf install libsoup-devel
dnf install webkit2gtk3-devel.x86_64
npm i
npm i -g tauri
sudo aptitude install -y \
build-essential \
libpango1.0-dev \
libsoup2.4-dev \
libjavascriptcoregtk-4.0-dev \
libgdk-pixbuf2.0-dev \
libgtk-3-dev \
libwebkit2gtk-4.0-dev
npm run tauri dev