029fbae471dca8753f1d7878f861bd09b9207910
Multi-stage build: node:22-alpine + pnpm builds, nginx:1.27-alpine serves. VITE_* env vars are passed as build args because Vite inlines them into the JS bundle at build time. nginx config does SPA fallback, caches /assets/* immutably, and forces no-store on sw.js/index.html so PWA updates propagate.
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
VITE_MAP_KEY=your-bing-maps-key
Description
Languages
Vue
61.8%
TypeScript
35%
HTML
1.5%
JavaScript
0.8%
Dockerfile
0.6%
Other
0.3%