9337ea01f2c39618f5e0a1f116cc7bfd8ec1f95f
Oxyde
Tauri 2 Desktop Application built with SvelteKit 5 + TypeScript + SurrealDB
Project Overview
This is a native desktop application featuring:
- ✅ Modern SvelteKit 5 frontend with TypeScript
- ✅ Tauri 2 runtime for native desktop performance
- ✅ Embedded SurrealDB database for local storage
- ✅ Authentication system
- ✅ Chat interface
- ✅ Native system capabilities through Tauri plugins
Development Setup
Prerequisites
First install required dependencies:
| Tool | Required Version |
|---|---|
| Rust | 1.75+ |
| Node.js | 20+ |
| pnpm | 9+ |
| System Dependencies | See Tauri requirements for your OS |
System Specific Setup:
Linux (Debian/Ubuntu):
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
Windows:
- Install Visual Studio Build Tools with "Desktop development with C++" workload
- Install WebView2 Runtime (included in Windows 11+)
macOS:
xcode-select --install
brew install gtk+3
Installation
- Clone and install dependencies:
git clone <repository-url>
cd oxyde
pnpm install
- Verify Rust setup:
rustc --version
cargo --version
- First run will compile all Rust dependencies:
# Full native development mode
./run-tauri-dev.sh
Available Scripts
| Command | Description |
|---|---|
pnpm dev |
Run web-only dev server (browser, no Tauri) |
pnpm tauri dev |
Run full native Tauri application |
./run-tauri-dev.sh |
Run Tauri dev with Linux GPU fix |
pnpm build |
Build production web assets |
pnpm tauri build |
Create native installers/bundles |
pnpm check |
Run TypeScript + Svelte type checking |
pnpm check:watch |
Watch mode for type checking |
Project Structure
oxyde/
├── src/ # SvelteKit Frontend
│ ├── lib/
│ │ ├── components/ # Reusable Svelte components
│ │ ├── helpers.ts # Utility functions
│ │ └── types.ts # TypeScript type definitions
│ ├── routes/ # Application routes
│ └── app.html
├── src-tauri/ # Rust Backend
│ ├── src/
│ │ ├── commands/ # Tauri command handlers (chat, user)
│ │ ├── db.rs # SurrealDB integration
│ │ ├── error.rs # Error handling
│ │ ├── models.rs # Data models
│ │ ├── lib.rs
│ │ └── main.rs # App entry point
│ ├── Cargo.toml
│ └── tauri.conf.json
├── surreal/ # Database schemas
├── static/ # Static assets
└── docs/ # Project documentation
Recommended IDE Setup
VS Code / VSCodium with extensions:
Troubleshooting
Linux GPU Rendering Issues:
Use the provided ./run-tauri-dev.sh script which disables DMA-BUF renderer.
Slow first build: First run will compile all Rust crates, this is normal. Subsequent builds will be incremental and much faster.
Rust dependency issues:
cd src-tauri && cargo clean
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | SvelteKit 5, TypeScript, Vite |
| Runtime | Tauri 2 |
| Backend | Rust |
| Database | SurrealDB 3 |
| Package Manager | pnpm |
Description
Languages
Svelte
60.5%
Rust
35.1%
TypeScript
2.4%
JavaScript
1.1%
HTML
0.7%
Other
0.2%