vakabunga 723df494ca fix: downgrade pdf-parse to 1.1.1 to eliminate native dependency
pdf-parse@2.4.5 depends on @napi-rs/canvas (native Skia binary compiled
with AVX instructions) which crashes with SIGILL on the Synology NAS CPU.
Version 1.1.1 is pure JavaScript and works on any architecture.
2026-03-14 14:03:14 +03:00
2026-03-02 00:34:40 +03:00
2026-03-02 00:35:39 +03:00
2026-03-02 23:22:40 +03:00

Family Budget

Local SPA for family budget tracking: import bank statements, categorize transactions, view analytics.

Monorepo structure

family_budget/
├── backend/     — Node.js API server (Express + TypeScript)
├── frontend/    — React SPA (Vite + TypeScript)
├── shared/      — Shared TypeScript types (API contracts, entities)
├── docs/        — Specifications and backlog
└── package.json — npm workspaces root

Tech stack

Layer Choice Rationale
Backend Express + TypeScript Simple, well-known, sufficient for a small local app
Frontend React + Vite + TS Fast dev experience, modern tooling
Database PostgreSQL Deployed on Synology NAS
Migrations Knex Lightweight, SQL-close, supports seeds
Shared Pure TypeScript types Zero-runtime, imported by both backend and frontend

Prerequisites

  • Node.js >= 20
  • PostgreSQL >= 15
  • npm >= 10

Getting started

# Install all workspace dependencies
npm install

# Build shared types (must be done before backend/frontend)
npm run build -w shared

See backend/README.md and frontend/README.md for per-package instructions.

Description
No description provided
Readme 757 KiB
Languages
TypeScript 84.6%
CSS 15%
HTML 0.4%