blob: 517eb7ce2fc1f26717f28bffa76ec48ea1a50566 [file] [log] [blame]
[[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