Diese Anleitung hilft dir bei der Einrichtung der Spring Boot-Backend-Umgebung mit Keycloak zur Authentifizierung und MySQL als Datenbank.
Die Datei docker-compose.yml startet folgende Dienste:
- Keycloak unter
http://localhost:8090 - MySQL unter
localhost:3306
Führe den folgenden Befehl aus, um die Dienste zu starten:
docker-compose up -d-
Gehe zur Keycloak Admin-Konsole:
- http://localhost:8090
- Melde dich mit den Admin-Zugangsdaten an, die in der
docker-compose.ymlgesetzt wurden (admin/admin)
-
Wechsel zum automatisch importierten Realm:
drk-invoice-management-realm -
Im Realm: Gehe zu Realm Settings und wähle
Actionoben rechts -
Wähle
Partial Importund lade die Dateidrk-invoice-management-realm-users-0.jsonhoch -
Wähle die Checkbox neben
7 Usersaus, und importiere die User
Stelle sicher, dass die Docker-Container laufen, und starte dann das Backend:
Einfach die Klasse src/main/java/de/hft/dpt_project/DptProjectApplication.java in der IDE ausführen.
Alternativ durch diesen Befehl:
./mvnw spring-boot:runDas Backend ist nun erreichbar unter:
http://localhost:8081
Die folgenden Benutzer wurden im Keycloak hinterlegt:
| Passwort | Rolle | Vorname | Nachname | |
|---|---|---|---|---|
| administrator@drk.de | administrator | administrator | Felix | Neumann |
| board@drk.de | board | board | Thomas | Reinhardt |
| community@drk.de | community | community | Leonie | Schuster |
| department@drk.de | department | department | Markus | Vogl |
| member@drk.de | member | member | Max | Mustermann |
| office@drk.de | office | office | Annegret | Müller |
| treasurer@drk.de | treasurer | treasurer | Sabine | Köhler |
Die folgenden Kostenstellen wurden im Backend hinterlegt:
| Name | Leiter | Kontakt | Organisation | Übergeordnete Kostenstelle | Untergeordnete Kostenstelle |
|---|---|---|---|---|---|
| Vorstand 1 | Thomas Rheinhardt | board@drk.de | Vorstand | keine | Gemeinschaft 1 |
| Gemeinschaft 1 | Leonie Schuster | community@drk.de | Gemeinschaft | Vorstand 1 | Referat 1 |
| Referat 1 | Markus Vogl | department@drk.de | Referat | Gemeinschaft 1 | keine |
- Das Backend erwartet, dass Keycloak und MySQL bereits laufen, bevor es gestartet wird.
- Stelle sicher, dass Benutzer- und Rolleneinrichtung abgeschlossen sind, damit die Authentifizierung funktioniert.
- Keycloak lädt nicht? Stelle sicher, dass Port
8090frei ist und nicht blockiert wird. - Datenbankprobleme? Droppe alle Tebellen des
drk_invoice_managementSchemas, oder lösche den alten MySQL-Container und führe den Docker Compose erneut aus. - Spring Boot-Anwendung startet nicht? Kontrolliere die DB-Verbindungsdaten und Keycloak-URLs.
-
Lade den Tesseract Installer herunter: Tesseract bei UB Mannheim
-
Installiere Tesseract und merke dir das Installationsverzeichnis. Dieser ist in Windows standardmäßig
C:/Program Files/Tesseract-OCR/tessdata -
In der
application.yamldes Backends muss der Pfad zurtessdata-Ordner angegeben werden, z.B.:C:/Program Files/Tesseract-OCR/tessdata
Passe den Pfad entsprechend deinem System an. -
Lade die deutsche Sprachdatei herunter: deu.traineddata auf GitHub
-
Verschiebe
deu.traineddatain dastessdata-Verzeichnis von Tesseract.
https://tesseract-ocr.github.io/tessdoc/Installation.html
2. LLM mit Ollama & Mistral einrichten (Obsolet, läuft jetzt über Docker container. Beim ersten Start dauert es etwas, bis das Model heruntergeladen wurde)
-
Lade Ollama herunter und installiere es: Ollama Download
-
Starte Ollama – es sollte automatisch im Hintergrund laufen.
-
Öffne ein Terminal und lade Mistral mit den folgenden Befehlen:
ollama pull mistral ollama pull mistral:instruct -
Teste die Installation mit:
ollama run mistral:instructDu kannst danach einen Prompt eingeben, um die Funktion zu überprüfen.
Rufe den Endpoint /invoice/import-file auf, und übergebe eine PDF-Rechnung ohne Zugferd-XML.
Es sollte ein Invoice-Objekt zurückgegeben werden, wie die PDF in der Datenbank gespeichert wurde.
- Melde dich im Keycloak-Admin-Interface mit den Zugangsdaten an (
admin/admin)
-
Navigiere zu
Realm-Einstellungenim linken Menü. -
Öffne den Reiter
Themes. -
Wähle im Dropdown
Login-Themedas Themedrk. -
Klicke auf
Speichern, um die Änderung zu übernehmen.
Um das Projekt zu bauen und ein ausführbares JAR-Paket zu erstellen, navigiere zum Root-Verzeichnis des Projekts (wo sich die pom.xml befindet) und führe einen der folgenden Maven-Befehle aus:
- Zum Bauen des Projekts und Installieren der Artefakte im lokalen Maven-Repository:
mvn clean install
- Zum Bauen des Projekts und Erstellen des ausführbaren JAR-Pakets:
mvn clean package
Um die Javadoc-Dokumentation für das Projekt zu generieren, öffne IntelliJ und klicke of die folgenden Buttons:
Menüband > Tools > Generate JavaDoc
In dem geöffneten Dialog, wähle das Output-Verzeichnis
Klicke dann auf "generate"