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 the dist/
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
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