Skip to content

remsfal/remsfal-backend

REMSFAL Logo

GitHub Release Build Status Quality Gate Status Contributors

Open Source Facility Management Software (Backend)

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.online.

Architecture

The project is structured into multiple modules:

  • remsfal-core: A library containing core business models and API interfaces.
  • remsfal-gaeb: A library providing XML bindings for the GAEB DA XML standard 3.3 (German construction industry data exchange).
  • remsfal-common: A library containing implementations used in all microservices.
  • remsfal-ticketing: A microservice responsible for ticketing system functionalities and document storage.
  • remsfal-notification: A microservice responsible for all customer notifications.
  • remsfal-platform: The most important microservice, which is responsible for core functionalities such as user login, metadata storage, etc.

NOTE: Before implementing a new feature, please first read AGENT.md to understand the project architecture, layered patterns, and coding conventions. For authentication and authorization concepts (RBAC, roles, JWT structure), see Authorization.md.

Development

This project uses MAVEN to build and test the complete backend microservice architecture. Before you change anything, make sure that your development setup meets the requirements as described in Prerequisites. Afterwards you can build and package the application by running:

mvn package

Prerequisites

To develop or start this project locally, you need

  • Java 17 or higher
  • Maven 3.8.1 or higher
  • Docker or Podman to start containers

How to get started

For ease of use its recommended to run postgresql using the provided docker-compose.yml.

docker compose up -d

Important: The docker-compose.yml file uses the include: directive, which is only supported in newer versions of Docker Compose. Please make sure your Docker Desktop or Docker Compose CLI is up to date.

CI/CD

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.

Start in dev mode

At first you will need to start the db as described in Prerequisites.

Next run the project using the following command:

./mvnw clean install
./mvnw compile quarkus:dev -pl remsfal-services/remsfal-platform

It will automatically recompile when you change something.

Stylecheck

This project uses Checkstyle for code formatting. Please ensure your code adheres to the style defined in the checkstyle.xml.

To run the stylecheck use the following command:

./mvnw checkstyle:checkstyle

Contributing

Before contributing to REMSFAL, please read our contributing guidelines. Participation in the REMSFAL project is governed by the CNCF Code of Conduct.

NOTE: 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.

NOTE: Please only make changes in files directly related to your issue!

License

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors