7a4ba0537f
Multi-company budget/project tracking tool built with SvelteKit 5, PostgreSQL (Drizzle ORM), and Tailwind CSS v4. Features: - Auth: local (email/password with Argon2) + generic OIDC - 4 roles per company: admin, manager, user, viewer - Multi-company with per-company user membership - Projects with budget allocation from company pool - Expense submission with approval workflow - Categories and tags for expense organization - Reports with spending breakdowns (by category, project, time) - CSV import for Actual Budget migration - Company audit log tracking all budget and admin actions - Remaining budget hero display on overview and budget pages - Admin-only company creation; new users wait for invitation - Deployment configs for systemd + nginx (bare metal/Proxmox) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
42 lines
1.0 KiB
JSON
42 lines
1.0 KiB
JSON
{
|
|
"name": "buildfor-life-budget",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate",
|
|
"db:push": "drizzle-kit push",
|
|
"db:studio": "drizzle-kit studio"
|
|
},
|
|
"dependencies": {
|
|
"@node-rs/argon2": "^2.0.2",
|
|
"@oslojs/crypto": "^1.0.1",
|
|
"@oslojs/encoding": "^1.1.0",
|
|
"chart.js": "^4.4.7",
|
|
"date-fns": "^4.1.0",
|
|
"drizzle-orm": "^0.38.4",
|
|
"papaparse": "^5.5.2",
|
|
"pg": "^8.13.1",
|
|
"zod": "^3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@sveltejs/adapter-node": "^5.2.12",
|
|
"@sveltejs/kit": "^2.15.2",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
|
"@tailwindcss/vite": "^4.1.3",
|
|
"@types/pg": "^8.11.11",
|
|
"@types/papaparse": "^5.3.15",
|
|
"drizzle-kit": "^0.30.5",
|
|
"svelte": "^5.19.0",
|
|
"svelte-check": "^4.1.4",
|
|
"tailwindcss": "^4.1.3",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^6.1.0"
|
|
}
|
|
}
|