# Fakturierung — SE1 Team 1 Desktop-Fakturierungsanwendung (Einzelplatz) für das Hochschulprojekt SE1, Team 1. Java 21, Swing-GUI mit FlatLaf, Maven-Build. Verwaltet Kunden, Produkte und den Dokumentenzyklus Angebot → Auftragsbestätigung → Lieferschein → Rechnung inkl. PDF-Export. ## Build & Run ```bash ./mvnw compile # Kompilieren ./mvnw test # Alle Tests (JUnit 5) ./mvnw package # Fat-JAR bauen (maven-shade-plugin) java -jar target/fakturierung-1.0.0.jar # Anwendung starten ``` Daten werden lokal als JSON unter `daten/` abgelegt (nicht versioniert). ## Architektur Vier fachliche Module, jeweils einer Projektgruppe zugeordnet, plus ein Querschnittspaket: | Paket | Gruppe | Verantwortung | |-------|--------|---------------| | `dokumente` | A | Dokumentenzyklus, Belegnummern, PDF-Export | | `produkte` | B | Produktverwaltung (CRUD, Nummernvergabe, Löschsperre) | | `kunden` | C | Kundenverwaltung (CRUD, Nummernvergabe, Löschsperre) | | `gui` | D | Swing-Oberfläche (HauptFenster, Panels, Dialoge, Wizard) | | `gemeinsam` | — | Querschnitt: EreignisBus, JsonPersistenz, CSV-Hilfe, Exceptions | Quellcode: [`src/main/java/de/team1/faktura/`](src/main/java/de/team1/faktura/) · Tests: [`src/test/java/de/team1/faktura/`](src/test/java/de/team1/faktura/) ## Dokumentation Alle Projektunterlagen liegen unter [`dokumentation/`](dokumentation/): - [`anforderungen/`](dokumentation/anforderungen/) — Lastenheft, Pflichtenhefte (Gruppe A–D), Anforderungsabgleich - [`tests/`](dokumentation/tests/) — Modultestplan, Modultestbericht - [`projekt/`](dokumentation/projekt/) — Project Charter, Präsentation - [`diagramme/`](dokumentation/diagramme/) — PlantUML-Quellen (`.puml`) und gerenderte Diagramme (`.png`) Die `*.md`-Spezifikationen werden mit pandoc + XeLaTeX manuell zu PDF gebaut; die PDFs sind als Abgabe-Artefakte mitversioniert. PlantUML-Diagramme werden über `tools/plantuml.jar` gerendert.