Skip to content
/ barrel Public

The new backend of the Musikverein Leopoldsdorf

License

Notifications You must be signed in to change notification settings

mvl-at/barrel

Repository files navigation

Barrel

Barrel is the REST backend of the Musikverein Leopoldsdorf. It uses LDAP for managing all members and Postgres for all other data.

Setup

To perform a plain and direct install, only Git, a Java SDK and an internet connection are required. When these requirements are fulfilled, only a handful of commands need to be entered:

Clone the repository
git clone https://github.com/mvl-at/barrel.git
./gradlew bootRun

Barrel uses RSA keys for signing JWTs in the DER format. The following commands will generate a private key, a public key and an X.509 certificate which is valid for one year.

Generate the keys and the certificate
openssl req -x509 -newkey rsa:4096 -days 365 -utf8 -nodes -outform PEM -keyform PEM -keyout barrel-private-key.pem -out barrel.crt -sha512
openssl pkcs8 -topk8 -inform PEM -outform DER -in barrel-private-key.pem -out barrel-private-key.der -nocrypt
openssl rsa -in barrel-private-key.der -pubout -inform DER -outform DER -out barrel-public-key.der

You may want to delete the barrel-private-key.pem afterwards.

This may take a while, but when done, the service will listen on the preconfigured port.

ℹ️
The IDE may provide an easier way to start the application for development purposes.

Development

To begin development some steps may be necessary.

Lint

To lint the project manually run ./gradlew ktlintFormat. To format the project before every commit run ./gradlew addKtlintFormatGitPreCommitHook once.

Configuration

For development purposes the configuration file is located at src/main/resources/application.yml. In order to provide to the IDE the ability to recognize all available properties and the documentation, gradle kaptKotlin may be run. This is required, everytime the structure of the BarrelConfigurationProperties changes.

💡
To receive an attribute description, refer either to your IDEs autocomplete feature or to src/main/kotlin/at/mvl/barrel/configuration/BarrelConfigurationProperties.kt.

Todos

  • Email service

  • finish role mappings

  • thumbnails

  • password resets

About

The new backend of the Musikverein Leopoldsdorf

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages