| [[section-architecture-constraints]] |
| == Architecture Constraints |
| The main architecture constraints are: |
| |
| * *Public License* The module must be available under the “Eclipse Public License 2.0”. |
| * *Standardization* The module must use the reference platform. |
| * *Availability* The source code of the module must be accessible to any interested person/company. |
| |
| Therefore the project is published under the following repositories: |
| |
| * https://git.eclipse.org/r/plugins/gitiles/openk-usermodules/org.eclipse.openk-usermodules.statementPublicAffairs.backend |
| * https://git.eclipse.org/r/plugins/gitiles/openk-usermodules/org.eclipse.openk-usermodules.statementPublicAffairs.frontend |
| * https://git.eclipse.org/r/plugins/gitiles/openk-usermodules/org.eclipse.openk-usermodules.statementPublicAffairs.documentation |
| |
| === Technical Constraints |
| |
| The following technical constraints are given: |
| |
| .Technical Constraints |
| [options="header"] |
| |=== |
| |Component|Constraints |
| |Base components of the reference platform |
| a|* Application Server Tomcat |
| * JPA EclipseLink |
| * Database PostgreSQL |
| |
| |Programming language frontend |
| a|* Angular |
| * Bootstrap |
| * REST/JSON Interfaces |
| |
| |GUI design |
| a|* According to oK-GUI-Styleguide |
| |
| |Java QA environment |
| a|* Sonarqube 5.6.6 |
| |
| |Programming language |
| a|* Backend: Java 1.8 |
| * Frontend: Angular 9+ (Javascript, Typescript, HTML5, CSS3) |
| |
| |IDE |
| a|* Not restricted (Eclipse, Webstorm, Vim ...) |
| |
| |Build system |
| a|* Backend: Maven |
| * Frontend: NodeJS + Angular/cli |
| |
| |Libraries, frameworks, components |
| a|* Used Libraries/Frameworks have to be compatible to the Eclipse Public License |
| |
| |Architecture Documentation |
| a|* According ARC42-Template |
| |=== |
| |
| |
| |
| === Technical Dependencies |
| |
| |
| ==== Modules |
| The following modules are required to use the 'Statement Public Affairs' module: |
| |
| .Modules |
| [options="header,footer"] |
| |========================================================= |
| |Name of the module|Purpose|Status of the module |
| |'Auth&Auth'|Authentification and Authorization|available |
| |'Contact Base Data'| Customer and user contact details|available |
| |========================================================= |
| |
| |
| ==== Libraries |
| |
| The following libraries are used: |
| |
| .Libraries |
| [options="header,footer"] |
| |========================================================= |
| |Name of the library|Version|License|Tier |
| | spring-cloud-core-openfeign |2.2.0|Apache-2.0 | Back-end |
| | spring-boot-starter-data-jpa |2.2.1|Apache-2.0 | Back-end |
| | spring-boot |2.2.1|Apache-2.0 | Back-end |
| | spring-boot-starter-web |2.2.1|Apache-2.0 | Back-end |
| | lombok |1.18.10|MIT | Back-end |
| | postgresql |42.2.8|BSD 2-clause | Back-end |
| | spring-cloud-starter-netflix-ribbon |2.2.0|Apache-2.0 | Back-end |
| | keycloak-core |3.4.2|Apache-2.0 | Back-end |
| | jjwt |0.9.1|Apache-2.0 | Back-end |
| | h2 |1.4.200|EPL 1.0 | Back-end |
| | proj4j | 1.1.0 | Apache-2.0 | Back-end |
| | angular/animations |9.1.12| MIT | Front-end |
| | angular/cdk |9.2.4| MIT | Front-end |
| | angular/common |9.1.12| MIT | Front-end |
| | angular/compiler |9.1.12| MIT | Front-end |
| | angular/core |9.1.12| MIT | Front-end |
| | angular/forms |9.1.12| MIT | Front-end |
| | angular/material |9.2.4| MIT | Front-end |
| | angular/platform-browser-dynamic |9.1.12| MIT | Front-end |
| | angular/platform-browser |9.1.12| MIT | Front-end |
| | angular/router |9.1.12| MIT | Front-end |
| | ngrx/effects |9.2.0| MIT | Front-end |
| | ngrx/store |9.2.0| MIT | Front-end |
| | ngx-translate/core |12.1.2| MIT | Front-end |
| | ngx-translate/http-loader |5.0.0| MIT | Front-end |
| | leaflet |1.6.0| BSD-2-Clause | Front-end |
| | material-design-icons |3.0.1| Apache-2.0 | Front-end |
| | rxjs |6.5.4| Apache-2.0 | Front-end |
| | source-sans-pro |3.6.0| OFL-1.1 | Front-end |
| | tslib |1.10.0| Apache-2.0 | Front-end |
| | zone.js |0.10.2| MIT | Front-end |
| | bpmn-js |6.5.1| bpmn.io License https://bpmn.io/license | Front-end |
| | moment-js |2.27.0| MIT | Front-end |
| | primeng |9.1.3| MIT | Front-end |
| |========================================================= |
| |
| The used libraries can also be found in the dependency configuration of each project repository. |
| |
| * Back-end: file pom.xml |
| * Front-end: file package.json |