From 2d01141cb100c3043d73ba50b6ef9f2e0f943fd5 Mon Sep 17 00:00:00 2001 From: Alexander Woestmann Date: Wed, 10 Jul 2024 09:24:33 +0200 Subject: [PATCH] Add instructions for a development setup to README --- README.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/README.md b/README.md index c8a8219b..3c719e10 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,51 @@ geografischen Daten können Sachdaten mit den erfassten Informationen verschnitten werden. Darüber hinaus können automatisch Einträge in Datensätze aufgrund ihrer räumlichen Zugehörigkeit zu beispielsweise Entwässerungsgebieten, Wasserschutzgebieten etc. generiert werden. + +## Entwicklungsumgebung + +Für das Aufsetzen einer Entwicklungsumgebung wird zuerst eine PostgreSQL-Datenbank benötigt. +Diese kann über das vorhandene Dockerfile erstellt werden: + +```bash +docker build -t auik/db -f docker/Dockerfile . +docker run --name auik_db -p15432:5432 -v $PWD/data/db:/opt/auik_db -d auik/db +``` + +Die Datenbank ist dann unter Port `15432` mit dem Datenbanknamen `fisumwelt` erreichbar. Ein Login ist möglich als Nutzer `auikadmin` mit dem Passwort `secret`. + +Alternativ kann die Datenbank über die Skripte in `data/db` manuell erstellt werden. + +```bash +cd data/db +psql --command "CREATE DATABASE fisumwelt;" +psql -d fisumwelt --command "CREATE EXTENSION postgis;" +psql -d fisumwelt --command "CREATE USER auikadmin with password 'secret';" +psql -d fisumwelt --command "ALTER USER auikadmin with superuser;" +psql -d fisumwelt -f version1_0_schema.sql +psql -d fisumwelt -f updateTo_1_1_0.sql +psql -d fisumwelt -f import_csv.sql +``` + +Vor dem Starten der Anwendung muss in der `auik.properties` der Eintrag `auik.system.dburl` gesetzt werden um die Verbindung mit der Datenbank zu ermöglichen. + +Beispielweise mit einer Datenbank erreichbar unter `localhost:15432` mit dem Datenbank-Namen `fisumwelt`: + +``` +auik.system.dburl=jdbc\:postgresql\://localhost\:15432/fisumwelt +``` + +Für die Anwendung selbst müssen `maven` und ein passendes JDK ab Version 11 (bspw. OpenJDK 11) installiert sein. + +Kompilieren und Starten der Anwendung: + +```bash +mvn clean compile exec:java +``` + +Erstellen eines Jar-Archivs: + +```bash +mvn clean package +``` +Das Archiv ist im Ordner `target` zu finden.