Skip to content

Repository files navigation

Anleitung zur Einrichtung der Backend-Umgebung

Diese Anleitung hilft dir bei der Einrichtung der Spring Boot-Backend-Umgebung mit Keycloak zur Authentifizierung und MySQL als Datenbank.


Voraussetzungen


Schritt 1: Dienste mit Docker Compose starten

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

Schritt 2: Keycloak einrichten

  1. Gehe zur Keycloak Admin-Konsole:

    • http://localhost:8090
    • Melde dich mit den Admin-Zugangsdaten an, die in der docker-compose.yml gesetzt wurden (admin/admin)
  2. Wechsel zum automatisch importierten Realm: drk-invoice-management-realm

  3. Im Realm: Gehe zu Realm Settings und wähle Action oben rechts

  4. Wähle Partial Import und lade die Datei drk-invoice-management-realm-users-0.json hoch

  5. Wähle die Checkbox neben 7 Users aus, und importiere die User


Schritt 3: Spring Boot-Anwendung starten

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:run

Das Backend ist nun erreichbar unter:

http://localhost:8081

Beispielbenutzerdaten

Die folgenden Benutzer wurden im Keycloak hinterlegt:

E-Mail 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

Beispielkostenstellen

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

Hinweise

  • 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.

Fehlerbehebung

  • Keycloak lädt nicht? Stelle sicher, dass Port 8090 frei ist und nicht blockiert wird.
  • Datenbankprobleme? Droppe alle Tebellen des drk_invoice_management Schemas, 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.

Anleitung OCR

1. OCR mit Tesseract einrichten

Windows:

  1. Lade den Tesseract Installer herunter: Tesseract bei UB Mannheim

  2. Installiere Tesseract und merke dir das Installationsverzeichnis. Dieser ist in Windows standardmäßig C:/Program Files/Tesseract-OCR/tessdata

  3. In der application.yaml des Backends muss der Pfad zur tessdata-Ordner angegeben werden, z.B.: C:/Program Files/Tesseract-OCR/tessdata
    Passe den Pfad entsprechend deinem System an.

  4. Lade die deutsche Sprachdatei herunter: deu.traineddata auf GitHub

  5. Verschiebe deu.traineddata in das tessdata-Verzeichnis von Tesseract.

Sonstige Plattformen:

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)

  1. Lade Ollama herunter und installiere es: Ollama Download

  2. Starte Ollama – es sollte automatisch im Hintergrund laufen.

  3. Öffne ein Terminal und lade Mistral mit den folgenden Befehlen:

    ollama pull mistral
    ollama pull mistral:instruct
    
  4. Teste die Installation mit:

    ollama run mistral:instruct
    

    Du kannst danach einen Prompt eingeben, um die Funktion zu überprüfen.

3. Backend-Endpoint testen

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.


Anleitung zur Einrichtung des Keycloak-Logins

1. In Keycloak einloggen

  • Melde dich im Keycloak-Admin-Interface mit den Zugangsdaten an (admin/admin)

2. Login-Bildschirm anpassen

  1. Navigiere zu Realm-Einstellungen im linken Menü.

  2. Öffne den Reiter Themes.

  3. Wähle im Dropdown Login-Theme das Theme drk.

  4. Klicke auf Speichern, um die Änderung zu übernehmen.

Projekt Build und Package

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

Javadoc generieren

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"

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages