How do I get the project running? ‐ Entwicklerdokumentation - IU-Internationale-Hochschule-Augsburg/fallstudie-thema-2-online-umfragesystem GitHub Wiki

Gliederung:

  • Klonen des Projekts
  • Projekt auschecken
  • Gradle einrichten
  • Eigene Encryption mit Jasypt durchführen
  • Datenbank in die IDE einbinden

Klonen des Projekts:

  • Zuerst die URL in HTTPS im github-Repository kopieren

HTTPS Link

  • Daraufhin ggf. noch einen neuen Ordner erstellen und im Terminal mit cd [Ordner] in den entsprechenden Ordner gehen, wo das Projekt dann schlussendlich liegen soll
  • Dort dann den Command "git clone [github-Link]" ausführen
  • Das Projekt sollte nun erfolgreich geklont sein

Projekt auschecken:

  • Zuerst die IDE öffnen. Bei mir ist es standardmäßig IntelliJ
  • Nun auf Open Project klicken und den Ordner heraussuchen, in den man das Projekt geklont hat
  • Daraufhin das Projekt auf der Ordnerebene fallstudie-thema-2-online-umfragesystem öffnen

Ordner-Ebene

  • In IntelliJ wird man dann gefragt, ob man dem Projekt vertrauen kann; dort dann auf Trust Project klicken
  • Nun unten rechts (in der alten Version) und oben links (in der neueren Version) auf das Git-Symbol klicken und den entsprechenden Branch (normalerweise main, bei mir aktuell create-cloud-database) mit einem Klick auf den Branch und dann auf Checkout auschecken

Checkout


Gradle einrichten: ggf. muss man ab und an Gradle neu laden/aktualisieren

  • Nun das Projekt noch einmal schließen und auf einer tieferen Ebene öffnen: fallstudie-thema-2-online-umfragesystem => MVP => survey-application (Oft erscheint da auch noch ein schwarzes Code-Symbol)

tiefere Ordner-Ebene

  • Dann erscheint ein Fenster Open or Import Project. Die Auswahlmöglichkeiten sind: Open as Gradle Project oder as Maven Project. Bitte einmal Gradle Project auswählen
  • Daraufhin die Settings von IntelliJ öffnen und in der Suchleiste nach Gradle suchen. Dort coretto-17 hinzufügen (ggf. vorher downloaden) und die Auswahl speichern.

Gradle Settings

  • Nun bitte die Run Configurations öffnen:

Run Config

  • ...und über das +-Symbol eine neue Run Configuration für Spring Boot hinzufügen:

Spring Boot Run Config

  • Die Configuration sollte dann vorerst wie folgt aussehen:

grafik

  • Also noch einmal Java 17 auswählen, -cp survey-application.main auswählen und noch folgenden Pfad für die ausführbare Klasse angeben: com.surveymaster.SurveyApplication

  • Dann die Eingaben speichern und die Run Configurations wieder schließen


Eigene Encryption mit Jasypt durchführen: Die eckigen Klammern "[ ]" müssen ebenfalls mit gelöscht/ausgetauscht werden

jar file

  • Nun geht man mit dem Command cd [Downloads] in der Kommandozeile in den Ordner, wo man das .jar-file gespeichert hat (Bei mir ist es Downloads)
  • Dann führt man einen weiteren Command wie folgt aus: java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI "input=[plain password/data to be encrypted]" "password=[secret key used in encrypting data]" "algorithm=PBEWITHHMACSHA512ANDAES_256" "ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator"
  • Das sollte dann der Output sein:

Output jasypt

  • Der lange Schlüssel unter OUTPUT muss dann kopiert werden und mit einem ENC() in die Datei application.yaml eingefügt werden. Dabei muss der bisherige Schlüssel herausgenommen werden, denn dieser ist nur für mich:

Pfad

ENC

Zwei verschiedene Möglichkeiten, das zweite, festgelegte Passwort ebenfalls nicht zu veröffentlichen:

grafik

Zum Kopieren der Commands:

  • -Djasypt.encryptor.password=[festgelegtes Passwort aus der Kommandozeile]

Sources für die Encryption:

Obidiagha, S. (2020). Data Encryption on Spring Boot application.properties file. https://stanleyobi.medium.com/data-encryption-on-spring-boot-application-properties-file-bf6ecb644bfe.

Techie, J. (2021). Spring Boot Password Encryption using Jasypt. https://medium.com/@javatechie/spring-boot-password-encryption-using-jasypt-e92eed7343ab.


Datenbank in die IDE einbinden:

  • Rechts am seitlichen Rand in IntelliJ auf das Database-Symbol klicken
  • Dann über einen Klick auf das +-Symbol => Data Source => PostgreSQL eine neue Data Source anlegen

Data Source

Data Source Eingaben

  • Nun ggf. noch fehlende Driver installieren, wenn IntelliJ das mit einem Download missing driver files anbietet
  • Dann auf Test Connection klicken. Wenn dies erfolgreich war, dann auf Apply oder OK klicken und die Datenbank ist fertig eingebunden