Update .gitignore and add README.md for project documentation

main
Lucas Strubel 2026-06-24 09:10:08 +02:00
parent 5bfa3cfda8
commit 62db2c1724
3 changed files with 47 additions and 2 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
# Maven-Build # Maven-Build
target/ target/
dependency-reduced-pom.xml
# Lokale Laufzeitdaten der Anwendung (IF-01, Q-06) # Lokale Laufzeitdaten der Anwendung (IF-01, Q-06)
daten/ daten/

View File

@ -19,11 +19,11 @@ java -jar target/fakturierung-1.0.0.jar # Anwendung starten
## PDF-Spezifikationen bauen ## PDF-Spezifikationen bauen
Die `*.md`-Dateien im Wurzelverzeichnis (Lastenheft, Pflichtenheft_Gruppe{A-D}, Modultestplan) werden mit pandoc + XeLaTeX zu PDF konvertiert — es gibt kein Build-Skript, der Aufruf erfolgt manuell. Die `*.md`-Dateien unter `dokumentation/` (z. B. `dokumentation/anforderungen/Lastenheft.md`, `Pflichtenheft_Gruppe{A-D}.md`, `dokumentation/tests/Modultestplan.md`) werden mit pandoc + XeLaTeX zu PDF konvertiert — es gibt kein Build-Skript, der Aufruf erfolgt manuell.
## Diagramme ## Diagramme
PlantUML-Quelldateien liegen in `diagramme/`. Rendering via `tools/plantuml.jar`. PlantUML-Quelldateien liegen in `dokumentation/diagramme/`. Rendering via `tools/plantuml.jar`.
## Architektur ## Architektur

44
README.md 100644
View File

@ -0,0 +1,44 @@
# 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 AD), 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.