/whereabouts

Data warehouse Inventory Management System

Primary LanguageJavaMIT LicenseMIT

whereabouts

Build status codecov codebeat Known vulnerabilities

Data warehouse Inventory Management System that maintains a catalogue of data warehouse instances, with information about how they were created (to enable restoring a similar instance) and how to connect to them (required for the data loading and slicing services).

Run, test, deploy

Run the application and its database using docker or follow the instruction below.

Configure PostgreSQL database

sudo -u postgres psql
create user wa with password 'wa';
create database whereabouts;
grant all privileges on database whereabouts to wa;

Required tables will be created on application startup using Liquibase. This behaviour can be disabled by this setting:

spring.liquibase.enabled=false

Configure Keycloak

Whereabouts uses Keycloak as an identity provider. The following settings need to be configured before running the application.

yaml key description
keycloak.auth-server-url keycloak url that used. e.g. https://keycloak.example.com/auth
keycloak.realm keycloak realm.
keycloak.resource keycloak client id.

There are 3 Keycloak client roles that need to be added for users to enable the access to all endpoints:

  • read-instances,
  • create-instances,
  • change-instances;

See swagger documentation for more details.

Run

Make sure you have Maven installed.

# run the application
mvn spring-boot:run

There should now be an application running at http://localhost:8086/.

Package

The package depends on Java 11.

# create a jar package
mvn clean package

There should now be a .jar-file in target/whereabouts-<version>.jar.

# run the packaged application
java -jar target/whereabouts-<version>.jar

Tests

Run all tests. The test will use the configuration from ./src/test/resource/application.yml file.

mvn test

Acknowledgement

This project was funded by the German Ministry of Education and Research (BMBF) as part of the project DIFUTURE - Data Integration for Future Medicine within the German Medical Informatics Initiative (grant no. 01ZZ1804D).

License

Copyright (c) 2019 The Hyve B.V.

The Data warehouse Inventory Management System is licensed under the MIT License. See the file LICENSE.