NUXTOR
A spiritual successor of ViTauri, made with Nuxt 3 and Tauri 2
Build super fast desktop applications!
Powered by Nuxt 3
## Technologies run-down
- Nuxt 3 (v4 ready!)
- Tauri 2
- NuxtUI v3
- TailwindCSS v4
- Typescript
- ESLint
- Auto imports (for Tauri api too!)
## Functionalities
- Run shell commands from the app
- Send custom notifications to the client (remember to turn on/grant notifications in your computer settings)
- Display OS related informations
- Store and retrieve data locally
- Show tray icon
- Support all Nuxt functionalities (routing/layout/middleware/modules/etc...)
## Setup
- Before running this app, you need to configure your environment with Rust. Take a look at the [Tauri docs](https://v2.tauri.app/start/prerequisites).
- This project enforces [pnpm](https://pnpm.io). In order to use another package manager you need to update `package.json` and `tauri.conf.json`
- The frontend runs on the usual port `3000` of Nuxt, the Tauri server uses the port `3001`. This settings are customizable in the `nuxt.config.ts` and `tauri.conf.json`.
- Once ready, follow these commands:
```sh
# use this template
$ npx degit NicolaSpadari/nuxtor my-nuxtor-app
# go into the folder
$ cd my-nuxtor-app
# install dependencies
$ pnpm install
# start the project
$ pnpm run tauri:dev
```
This will run the Nuxt frontend and will launch the Tauri window.
## Build
```sh
$ pnpm run tauri:build
```
This command will generate the Nuxt static output and bundle the project under `src-tauri/target`.
## Debug
```sh
$ pnpm run tauri:build:debug
```
The same Tauri bundle will generate under `src-tauri/target`, but with the ability to open the console.
## Notes
- Tauri v2 brings some big refactors, such as packages names and permission management. New permissions have to be granted under `src-tauri/capabilities/main.json`
- Tauri functions are auto imported with the help of a custom module, named like `useTauri`. If another Tauri plugin is added, then the module has to be updated to support its functions under `app/modules/tauri.ts`
- As per documentation, Nuxt SSR must be disabled in order for Tauri to act as the backend. Still, all Nuxt goodies will be functional.
- NuxtUI is a very powerful UI library that consolidates design over the entire application. While there is a more complete pro version, it requires a license. It's up to you to buy the pro version, or stick with the free version.
## License
MIT License © 2024-PRESENT [NicolaSpadari](https://github.com/NicolaSpadari)