EasyBackend is a backend meant to exchange messages between parties using http-based micro-services. It was developed to exchange messages with the software EasySMPC, but due to its generic nature, it can also be used for other software requiring the exchange of messages.
EasySMPC requires Java, at least in version 14, a PostgreSQL database, a Spring boot-enabled application server and a Keycloak installation. To compile the app from source in addition to the Java JDK the Maven build system is required.
To facilitate the setup of the software, a package based on docker-compose is provided (see setup for details)
To build the executable yourself, start the development environment (see Development), clone this repository and build with
maven (mvn clean install org.springframework.boot:spring-boot-maven-plugin:repackage
). The assembled executable should be in the target
directory.
To develop EasyBackend, a docker-based development environment is provided. Go to the folder docker\dev and start the environment with docker compose up -d
. A PostgreSQL instance and a Keycloak instance will be started. Afterwards you can start EasyBackend with mvn clean compile org.springframework.boot:spring-boot-maven-plugin:run
.
Please note that you need to start at least the PostgreSQL instance for building, since EasyBackend makes use of jOOQ's code generation feature.
To run easy-backend productively with the provided docker compose environment do the following:
- Check out this repository
- Obtain a private key as well as a certificate and save them in the files docker\prod\key.pem and docker\prod\cert.pem
- Adapt the domain name in the file docker\prod\Caddyfile
- Change the passwords of the Keycloak and PostgreSQL administrators set in the environment variables KEYCLOAK_PASSWORD and POSTGRES_PASSWORD in the file docker\prod\docker-compose.yml
- Adapt the password of the PostgreSQL administrator in the file docker\prod\application.yml
- Start the environment with
docker compose up -d
when in folder docker\prod\
If you have questions or encounter any problems, we would like to invite you to open an issue on Github. This allows other users to collaborate and (hopefully) answer your question in a timely manner. If your request contains confidential information or is not suited for a public issue, send us an email.
EasyBackend's core development team consists of:
This software is licensed under the Apache License 2.0. The full text is accessible in the LICENSE file.
The EasyBackend software uses the following dependencies:
- Spring Boot - Apache License 2.0
- Keycloak - Apache License 2.0
- Keycloak - Apache License 2.0
- PostgreSQL - PostgreSQL License
- jooq (Open source version) - Apache License 2.0