remsfal-backend
is a backend service built using Java and Quarkus framework to manage real estate projects.
It works together with the remsfal-frontend
repository.
You can see a live version at https://remsfal.de.
You will need
- Java 17 or higher
- Maven 3.8.1 or higher
- a mysql database
For ease of use its recommended to run mysql using the provided docker-compose.yml.
docker compose up -d
Furthermore you will need to configurate at least the database and Google Oauth to run the application in application.properties or specific them directly as JVM argument.
Adjust the configuration for your database, don't use the provided ones in production!
quarkus.datasource.username=root
quarkus.datasource.jdbc.url=jdbc:mysql://localhost:3306/REMSFAL
quarkus.datasource.devservices.enabled=false
Or use JVM agruments
java -Dquarkus.datasource.username=root \
-Dquarkus.datasource.jdbc.url=jdbc:mysql://localhost:3306/REMSFAL \
-Dquarkus.datasource.devservices.enabled=false \
-jar remsfal-service/target/remsfal-service-runner.jar
You will also need to provide your own secrets for Google OAuth. As mentioned before you may also use JVM arguments.
de.remsfal.auth.oidc.client-id=<YOUR-ID>.apps.googleusercontent.com
de.remsfal.auth.oidc.client-secret=<YOUR-SECRET>
de.remsfal.auth.session.secret=<YOUR-CUSTOM-SESSION-SECRET>
To package and execute the application
mvn package
java -jar remsfal-service/target/remsfal-service-runner.jar
After execution remsfal-backend
will be available under https://localhost:8080/api
.
When contributing to this repository, please first discuss the change you wish to make by creating an issue before making a change.
Once you got feedback on your idea feel free to fork the project and open a pull request.
Please only make changes in files directly related to your issue.
This project uses Checkstyle for code formatting. Please ensure your code adheres to the style defined in the checkstyle.xml.
This project utilizes Github Actions to check the code quality using SonarCloud therefore its mandatory to pass the specified Quality Gates before a pull request can be merged.
The project is structured into multiple modules:
remsfal-core: Contains core business logic and API interfaces.
remsfal-service: Implements the REST API and application services.
At first you well need to start the db as described in Prerequisits.
Next run the project using the following command:
mvn clean install
mvn compile quarkus:dev -pl remsfal-service
It will automatically recompile when you change something.
To run the stylecheck use the following command:
mvn checkstyle:checkstyle
All licenses in this repository are copyrighted by their respective authors.
Everything else is released under Apache 2.0. See LICENSE for details.