rewa81 b592f10d40
Code Quality Check / check (push) Successful in 11m20s
Update mail recipient to bestellung@betax.ch
2026-01-03 18:03:54 +01:00

Betax Transport Bestellung

Dieses Projekt ist eine Ktor-Anwendung zur Bestellung von Behindertentransporten bei Betax. Die App nutzt eine Weboberfläche zur Erfassung der Fahrtdaten und generiert mithilfe von KI (Ollama) eine professionelle E-Mail für die Bestellung.

Funktionen

  • Web-Frontend: Erfassung von Name, Geburtsdatum, Abfahrtsort, Zielort, Terminzeit, Dauer, Rückfahrt und Hilfsmitteln.
  • Automatische Abfahrtszeit: Berechnet die empfohlene Abfahrtszeit basierend auf der Fahrzeit (Mock-Wert 25 Min) und einem Zeitpuffer (15 Min).
  • KI-E-Mail-Generierung: Nutzt das Koog Framework, um aus den Formulardaten eine fertige E-Mail-Bestellung zu erstellen.
  • HTMX Integration: Dynamische Aktualisierung der Seite ohne kompletten Reload nach Absenden des Formulars.

Voraussetzungen

Für die KI-Funktionalität muss Ollama lokal installiert sein und laufen.

  • Modell: ministral-3:latest (oder ein anderes konfiguriertes Modell).
  • Ollama URL: Standardmäßig http://localhost:11434.

Stellen Sie sicher, dass das Modell geladen ist:

ollama run ministral-3:latest

Projektstruktur

  • server: Die Haupt-Ktor-Anwendung (Netty).
  • web: (Optional) Kotlin WASM-Komponenten.

Starten der App

Die App startet einen lokalen Webserver. Standardmäßig ist dieser unter http://localhost:8080 erreichbar.

Mit Gradle ausführen

Um den Server lokal zu starten, führen Sie im Projektverzeichnis folgenden Befehl aus:

./gradlew :server:run

Sobald der Server läuft, sehen Sie in der Konsole: Responding at http://0.0.0.0:8080

Build & Ausführung als Fat-JAR

./gradlew :server:buildFatJar
java -jar server/build/libs/server-all.jar

Konfiguration

Die Konfiguration der Anwendung (z.B. Port, Ollama URL, E-Mail-Einstellungen) befindet sich in:

  • server/src/main/resources/application.yaml (Server-Port und E-Mail-Konfiguration für Mailpit)
  • server/src/main/kotlin/Frameworks.kt (Ollama Base URL)

E-Mail-Konfiguration (Testen mit Mailpit)

Für Testzwecke ist die App auf Mailpit konfiguriert:

  • Host: mailpit.rwcloud.ch
  • Port: 1025
  • Sender: info@rwcloud.ch
  • Empfänger: transport@rwcloud.ch

Verwendete Technologien

S
Description
No description provided
Readme
118 KiB
0 Stars 1 Watchers 0 Forks
Languages
Kotlin 97.5%
CSS 2.5%