Installation
Prerequisites
Section titled “Prerequisites”Before installing Budget, ensure you have:
- Node.js 18+ — Download from nodejs.org
- Git — For cloning the repository
- Rust — Required for the desktop app (rustup.rs)
Platform Specific Requirements
Section titled “Platform Specific Requirements”- macOS: Xcode Command Line Tools (
xcode-select --install) - Windows: Microsoft Visual Studio C++ Build Tools and WebView2
- Linux: Build essentials and WebKit2GTK (see Tauri docs)
Clone the Repository
Section titled “Clone the Repository”git clone https://github.com/Skyline-9/budgetzilla.gitcd budgetzillaBrowser Version
Section titled “Browser Version”Install Dependencies
Section titled “Install Dependencies”cd webappnpm installDevelopment Mode
Section titled “Development Mode”npm run devThis starts a development server at http://localhost:5173 with hot reload.
Production Build
Section titled “Production Build”npm run buildnpm run previewThe built files are in webapp/dist/ and can be served by any static file server.
Desktop App (Tauri)
Section titled “Desktop App (Tauri)”Development
Section titled “Development”cd webappnpm run tauri:devThis starts the Vite dev server and opens the native application window.
Production Build
Section titled “Production Build”cd webappnpm run tauri:buildBuild artifacts are output to src-tauri/target/release/bundle/.
| Platform | Output Format |
|---|---|
| macOS | .app, .dmg |
| Windows | .msi, .exe |
| Linux | .deb, .AppImage |
How the Build Works
Section titled “How the Build Works”Budgetzilla uses Tauri to bridge the web frontend with a native Rust backend:
- Vite Build — Compiles the React application into static assets.
- Rust Compilation — Compiles the native backend and bundles the assets.
- Packaging — Creates platform-specific installers and bundles.
Data Storage
Section titled “Data Storage”Browser Mode
Section titled “Browser Mode”Data is stored using OPFS (Origin Private File System). This means:
- Data persists across browser sessions.
- Private/incognito mode won’t persist data.
- Clearing browser data WILL delete your budget data.
Desktop App Mode
Section titled “Desktop App Mode”The desktop app stores data in the standard system application data folder:
- macOS:
~/Library/Application Support/com.budgetzilla.app/ - Windows:
%APPDATA%\com.budgetzilla.app\ - Linux:
~/.local/share/com.budgetzilla.app/
Troubleshooting
Section titled “Troubleshooting”Browser Storage Issues
Section titled “Browser Storage Issues”If data isn’t persisting:
- Ensure you’re not in private/incognito mode
- Check browser supports OPFS (Chrome, Edge, Firefox)
- Check storage quota in browser settings
macOS Build Issues
Section titled “macOS Build Issues”# Full verbose rebuildCLEAN=1 VERBOSE=1 ./build_mac_app.shApp Icon Not Showing
Section titled “App Icon Not Showing”killall Finder && killall DockNeed Rust Toolchain
Section titled “Need Rust Toolchain”Only needed if you want to modify the build system:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh