Skip to content

sk4rd/FeuerwehrSoftware

Repository files navigation

Feuerwehr-Software – Projektübersicht


Dieses Projekt bildet die Verwaltung einer Feuerwache in Java ab. Ziel ist ein objektorientiertes System, das Fahrzeuge, Feuerwehrleute und Einsätze realitätsnah modelliert.

Problemstellung

Eine Feuerwache verfügt über:

  • 18 Fahrzeuge in 4 Kategorien (PKW/LKW) mit spezifischen Sonderattributen.
  • 80 Feuerwehrleute, davon 10 LKW-Fahrer und 70 PKW-Fahrer.

Fahrzeuge können ausfallen (Wartung), Feuerwehrleute können temporär ausfallen (krank/Urlaub). Einsätze benötigen jeweils unterschiedliche Mindestmengen an Fahrzeugen und Personal. Die Software soll sicherstellen, dass nur verfügbare Ressourcen genutzt werden.

Anforderungen

Modellierung

  • Klassenhierarchie für Fahrzeugtypen:
    • Einsatz-Leitfahrzeug (PKW) – Dienstgrad
    • Tank-Löschfahrzeug (LKW) – Tankkapazität
    • Mannschaftstransporter (LKW) – Baujahr
    • Leiterwagen (LKW) – maximale Leiterhöhe
  • Feuerwehrleute mit Berechtigungen (PKW/LKW) und Status (verfügbar, krank, Urlaub).
  • Verwaltung der Gesamtbestände gemäß Vorgaben.

Funktionen

  • Team für einen Einsatz zusammenstellen
    • Nutzer wählt eine Einsatzart.
    • Software prüft Mindestanforderungen und erlaubt Übererfüllung.
    • Ausgabe aller Sonderattribute der beteiligten Fahrzeuge.
  • Einsatz beenden
    • Freigabe aller beteiligten Ressourcen.
  • Fahrzeuge markieren als „in Wartung“ / wieder freigeben.
  • Feuerwehrleute markieren als „krank“ oder „im Urlaub“ / wieder freigeben.
  • Automatische Teamzusammenstellung
    • System schlägt eine gültige Mindestkonfiguration vor.
  • Programm beenden

Ständige Anzeige

  • Anzahl noch verfügbarer Fahrzeuge und Feuerwehrleute.
  • Welche Einsatzarten aktuell noch erfüllbar sind.

Einsatzarten (Mindestanforderungen)

Einsatzart FWL ELW TLF MTW LW
Wohnungsbrand 22 1 2 1 1
Verkehrsunfall 16 1 1 1 0
Naturkatastrophe 55 3 3 3 2
Industrieunfall 40 3 2 2 2

Ziel

Eine robuste, klar strukturierte Java-Anwendung, die alle oben beschriebenen Verwaltungs-, Prüf- und Simulationsfunktionen bereitstellt und eine saubere objektorientierte Architektur demonstriert.

Bereitstellung & Nutzung

Beim Bauen über mvn clean package erzeugt das JavaFX Maven Plugin ein komplettes Runtime-Image unter target/feuerwehrsoftware sowie das verteilbare Archiv target/FeuerwehrSoftware.zip. Neben dem eigentlichen Launcher in bin/.

  1. mvn clean package ausführen.
  2. Start:
    • Windows: target\feuerwehrsoftware\feuerwehrsoftware.bat (Shortcut) oder weiterhin target\feuerwehrsoftware\bin\feuerwehrsoftware.bat.
    • macOS/Linux: ./target/feuerwehrsoftware/bin/feuerwehrsoftware (wie gehabt, ggf. ausführbar machen).

Zum Entwickeln kann die Anwendung lokal mit mvn javafx:run gestartet werden.

Code Style & Git Hooks

  • Vor jedem Commit oder Push mvn spotless:apply ausführen, damit alle Quellen sauber formatiert bleiben.
  • Den Spotless-Pre-Push-Hook einmal pro Klon mit mvn spotless:install-git-pre-push-hook installieren; er startet automatisch spotless:check und verhindert unformatierte Pushes.
  • Den Hook nicht deaktivieren – so landen keine unformatierten Änderungen im Remote-Repository.

Stationsdaten (JSON-Dateien)

Alle Feuerwehr-Stationen werden als einzelne JSON-Dateien im von ProgramPaths verwalteten Datenverzeichnis gespeichert. StationStorage erstellt dieses Verzeichnis beim ersten Start automatisch und legt darin einen Unterordner stations/ an. Die Dateien heißen wie der Stationsname (z. B. Innenstadt.json).

Speicherorte nach Betriebssystem:

  • Windows: %APPDATA%\FeuerwehrSoftware\stations (Fallback: %USERPROFILE%\FeuerwehrSoftware\stations, falls APPDATA nicht gesetzt ist).
  • macOS: ~/Library/Application Support/FeuerwehrSoftware/stations
  • Linux: ~/.config/feuerwehrsoftware/stations

Zum Sichern oder Austauschen einer Station genügt es, die entsprechende JSON-Datei aus diesem Verzeichnis zu kopieren oder dort abzulegen. Beim nächsten Programmstart steht sie automatisch im Stationsauswahldialog zur Verfügung.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages