No description
  • TypeScript 53.8%
  • Svelte 44.9%
  • HTML 0.6%
  • Nix 0.3%
  • CSS 0.3%
  • Other 0.1%
Find a file
Steffen Rörtgen deb1aa497b Initial commit: Feuerwehr Kassenverwaltung
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-23 09:29:09 +02:00
data Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
src Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
static Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
.envrc Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
.gitignore Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
.mcp.json Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
CLAUDE.md Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
flake.lock Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
flake.nix Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
package.json Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
pnpm-lock.yaml Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
pnpm-workspace.yaml Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
postcss.config.js Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
README.md Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
shell.nix Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
svelte.config.js Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
tailwind.config.js Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
tsconfig.json Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00
vite.config.ts Initial commit: Feuerwehr Kassenverwaltung 2026-06-23 09:29:09 +02:00

Feuerwehr-Kasse

Kassenverwaltung für die Freiwillige Feuerwehr mit drei Unterkassen: Einsatzabteilung, Jugendfeuerwehr und Kinderfeuerwehr.

Tech Stack

  • Frontend: SvelteKit + TypeScript
  • Styling: TailwindCSS
  • Datenbank: sql.js (SQLite im Browser)
  • Speicherung: localStorage (automatisch)

Features

Dashboard (/)

  • Übersicht der Kontostände pro Abteilung
  • Jahresauswahl im Header
  • Schnellübersicht Einnahmen/Ausgaben

Buchungen (/buchungen)

  • Liste aller Transaktionen mit Filtern (Abteilung, Kategorie, Typ)
  • Buchungen hinzufügen, bearbeiten, löschen
  • Verknüpfung mit Veranstaltungen
  • Kategorisierung (Einnahmen/Ausgaben)

Veranstaltungen (/veranstaltungen)

  • Veranstaltungsverwaltung
  • Automatische Zusammenfassung (Einnahmen/Ausgaben pro Event)
  • Buchungen mit Events verknüpfen

Handgeld (/handgeld)

  • Handgeldverwaltung pro Abteilung
  • Erfassung von: Ausgegeben, Verbraucht, Zurückgegeben

Berichte (/berichte)

  • Finanzberichte pro Jahr
  • Kategorienübersicht
  • Abteilungsübersicht

Einstellungen (/einstellungen)

  • Anfangsbestände: Manuell setzen oder automatisch aus Vorjahr berechnen
  • Datenbank exportieren: SQLite-Datei herunterladen
  • Datenbank importieren: Backup wiederherstellen
  • Seed-Daten laden: 2024 (258 Buchungen) oder 2025 Daten
  • Datenbank zurücksetzen: Alle Daten löschen

Installation

cd feuerwehr-kasse
npm install
npm run dev

Die App läuft dann unter http://localhost:5173

Erste Schritte

  1. App starten mit npm run dev
  2. Zu Einstellungen navigieren
  3. 2024 Daten laden oder 2025 Daten laden klicken
  4. Jahr im Header auswählen
  5. Dashboard zeigt die Übersicht

Datenspeicherung

  • Daten werden automatisch im Browser gespeichert (localStorage)
  • Bei Browserwechsel oder Löschen der Browserdaten gehen Daten verloren
  • Regelmäßig exportieren! (Einstellungen > Datenbank exportieren)

Seed-Daten

2024 Daten

  • 258 Buchungen aus dem Kassenbericht 2024 (PDF)
  • 6 Veranstaltungen (Neujahrsempfang, Mitgliederversammlung, Jubiläum 125 Jahre, Dankeschön-Party, Laternenumzug, Weihnachtsfeier)
  • Anfangsbestände aus 2023

2025 Daten

  • Buchungen aus der Excel-Datei "Kasse Feuerwehr.xlsx"
  • Anfangsbestände = Endbestände 2024

Datenbank-Schema

Tabellen

  • departments - Abteilungen (EA, JFW, KFW)
  • categories - Buchungskategorien
  • transactions - Buchungen
  • events - Veranstaltungen
  • petty_cash - Handgeldbewegungen
  • opening_balances - Anfangsbestände pro Jahr/Abteilung

Projektstruktur

feuerwehr-kasse/
├── src/
│   ├── lib/
│   │   ├── db/           # Datenbank (sql.js)
│   │   │   ├── database.ts
│   │   │   ├── schema.ts
│   │   │   ├── seed.ts
│   │   │   ├── seed-2024.json
│   │   │   └── seed-2025.json
│   │   └── stores/       # Svelte Stores
│   │       └── app.ts
│   └── routes/           # Seiten
│       ├── +page.svelte          # Dashboard
│       ├── buchungen/
│       ├── veranstaltungen/
│       ├── handgeld/
│       ├── berichte/
│       └── einstellungen/
├── static/
│   └── sql-wasm.wasm     # SQLite WASM
└── package.json

Entwicklung

npm run dev      # Entwicklungsserver
npm run build    # Produktions-Build
npm run preview  # Build-Vorschau

Entwicklungshinweise

Siehe ../CLAUDE.md fuer detaillierte Entwicklungshinweise, insbesondere:

  • Svelte 5 Runes vs. Legacy Mode
  • Reaktive Anweisungen und haeufige Fallstricke
  • Floating-Point-Rundung bei Geldbetraegen
  • Datenbank-Persistenz