How onetrueasian/vault-spend works
Vault Spend is a local desktop budgeting and transaction-ledger application. A user launches into startup/profile handling, then manages financial records in the React interface; Tauri commands connect those actions to the Rust backend and local core storage. Major workflows include importing and categorizing transactions, budgeting and analysis, investment tracking, and optional profile encryption, backups, and live prices. The README documents capabilities not visible in the sampled excerpts; those are represented at their supported module or view paths, without assuming detailed internal call chains.
Main entry points: App.tsx Application shell · commands.rs Tauri commands · store.rs Local database · StartupGate.tsx Startup gate
Components 26
Desktop interface
- Startup gate
src/StartupGate.tsx - Application shell
src/App.tsx - Profile screens
src/ProfileSelector.tsx
Finance workflows
- Dashboard
src/DashboardView.tsx - Accounts and ledger
src/AccountsView.tsx - Budget and goals
src/BudgetView.tsx - Cash flow
src/CashFlowView.tsx - Recurring items
src/RecurringView.tsx - Investments
src/InvestmentsView.tsx - Household
src/HouseholdView.tsx - Reports
src/ReportsView.tsx - Import inbox
src/ImportInboxDialog.tsx - Ledger queries
src/ledgerQuery.ts
Desktop backend
- Tauri commands
src-tauri/src/commands.rs - Application runtime
src-tauri/src/runtime.rs - Background reminders
src-tauri/src/background.rs - Live price service
src-tauri/src/live_prices.rs
Local data and security
- Profile management
src-tauri/src/profiles.rs - Protection lifecycle
src-tauri/src/protection_lifecycle.rs - Local database
core/src/store.rs - Statement importers
core/src/importer.rs - Categorization rules
core/src/rules.rs - Backups
src-tauri/src/backups.rs
External services
- GitHub update check
- Configured price provider
Other components
- User
Connections 29
- User → Startup gate: launches
- Startup gate → Application shell: opens app
- Application shell → Profile screens: shows profiles
- Application shell → Dashboard: presents features
- Application shell → Accounts and ledger: presents features
- Application shell → Budget and goals: presents features
- Application shell → Cash flow: presents features
- Application shell → Recurring items: presents features
- Application shell → Investments: presents features
- Application shell → Household: presents features
- Application shell → Reports: presents features
- Accounts and ledger → Import inbox: opens review
- Application shell → Ledger queries: answers queries
- Application shell → Tauri commands: invokes commands
- Profile screens → Tauri commands: invokes commands
- Tauri commands → Application runtime: uses runtime
- Tauri commands → Local database: reads and writes
- Tauri commands → Statement importers: imports statements
- Statement importers → Local database: persists records
- Tauri commands → Categorization rules: applies rules
- Categorization rules → Local database: reads and updates
- Tauri commands → Profile management: manages profiles
- Profile management → Protection lifecycle: changes protection
- Protection lifecycle → Local database: protects profile data
- Tauri commands → Backups: manages backups
- Application shell → Background reminders: configures reminders
- Investments → Live price service: requests prices
- Live price service → Configured price provider: fetches prices
- Startup gate → GitHub update check: checks releases