7c3d34d02eec1e921bb9b28ad1714d6f006a57f8
Replaces imperative validate() blocks in TransactionCreate, signup, and AccountNew with schema-driven validation. Drops the dead "(!currency && !date && payFor.length === 0)" branch in TransactionCreate that was hiding behind the generic error.
Vaquant
Manage group budgets — Vue 3 + Vite + Pinia + Tailwind/DaisyUI + CouchDB (PouchDB).
Requirements
- Node 22+ (see
.node-version) - pnpm 10+ (
corepack enable && corepack prepare pnpm@latest --activate)
Setup
pnpm install
Develop
pnpm dev # Vite dev server on http://localhost:8080
pnpm typecheck # vue-tsc --noEmit
pnpm lint # ESLint
pnpm test # Vitest
Build
pnpm build # Type-check, then build to dist/
pnpm preview # Serve the production build locally
Environment
Create .env (gitignored) with:
VITE_COUCHDB=https://your-couchdb-host
VITE_MAPBOX_KEY=pk.your-mapbox-token
Description
Languages
Vue
61.8%
TypeScript
35%
HTML
1.5%
JavaScript
0.8%
Dockerfile
0.6%
Other
0.3%