Die Anwendung Administration der OZG-Cloud stellt ein Web-UI zur Verwaltung der globalen Einstellungen der OZG-Cloud zur Verfügung. Über dieses erfolgt die fachliche Administration der OZG-Cloud durch den Mandanten oder eine durch den Mandanten beauftragte Institution.
## Architektur
### Client
Der Client ist mit Angular entwickelt und bindet sich per REST-API an das Backend. Der Client wird im mono-repo der OZG-Cloud Clients mit entwickelt und ist ebenfalls auf [code.schleswig-holstein.de](https://code.schleswig-holstein.de/ozg-cloud/app/frontend-clients/-/tree/main/alfa-client/apps/admin?ref_type=heads) zu finden.
### Backend
Das Backend (in diesem Repo zu finden) ist eine spring-boot basierte Java Anwendung.
* spring data rest - das Rest Api für den Client wird per spring data rest aufgebaut.
* spring cloud server - zur Übertragung der Konfigurationen an die einzelnen Dienste der OZG-Cloud (im Kontext der OZG-Cloud 'Manager' genannt) wird eine Schnittstelle nach dem spring cloud server Standard bereit gestellt.
Die Konfiguration wird in einer MongoDB gespeichert.
## Entwicklung
Um ein neue Konfiguration einzubauen, müssen folgende Klassen angelegt werden:
* Datenklassen - Die Klassen mit den eigentlichen Konfigurationsparameter. Die Klasse wird nach der Fachlichkeit benannt. Diese wird mit @TypeAlias annotiert.
* Repository - MongoRepository mit @RepositoryRestResource annotation. Die findAll Methode muss überschrieben werden.
* Klasse als Datentransferobjekt (DTO) - Format für die Spring Config Server Schnittstelle für einen Manager. Bennenung daher: FachlichkeitManagerSettingDto.java
* Mapper - Mapped die Konfigurationsparamter in das Dto.
* DtoService - Stellt die Settings für einen MAnager bereit. Wird mit @DtoService annotiert. Dadurch ist es eine Spring-Bean und wird automatisch aufgerufen, wenn eine Konfiguration für den jeweiligen Manager geladen wird. Benennung: FachlichkeitManagerSettingDtoService