remove asciidoctor from kontor-spring
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
This commit is contained in:
@@ -1,11 +1,6 @@
|
|||||||
/*
|
|
||||||
* This file was generated by the Gradle 'init' task.
|
|
||||||
*
|
|
||||||
* This is a general purpose Gradle build.
|
|
||||||
* Learn more about Gradle by exploring our Samples at https://docs.gradle.org/9.4.1/samples
|
|
||||||
*/
|
|
||||||
plugins {
|
plugins {
|
||||||
id("base")
|
id("base")
|
||||||
|
id("maven-publish")
|
||||||
id("de.infolektuell.typst") version "0.8.0"
|
id("de.infolektuell.typst") version "0.8.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,6 +11,39 @@ typst.sourceSets {
|
|||||||
val main by registering {
|
val main by registering {
|
||||||
// The files to compile (without .typ extension) in src/main/typst
|
// The files to compile (without .typ extension) in src/main/typst
|
||||||
documents = listOf("kontor") // src/main/typst/document.typst
|
documents = listOf("kontor") // src/main/typst/document.typst
|
||||||
|
inputs.put("version", version.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.withType<AbstractPublishToMaven>().configureEach {
|
||||||
|
dependsOn(tasks.named("compileTypst"))
|
||||||
|
}
|
||||||
|
|
||||||
|
publishing {
|
||||||
|
publications {
|
||||||
|
create<MavenPublication>("maven") {
|
||||||
|
artifactId = "kontor"
|
||||||
|
artifact(file("build/typst/main/pdf/kontor.pdf")) {
|
||||||
|
classifier = "docs"
|
||||||
|
extension = "pdf"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
// Determine URL based on version
|
||||||
|
url = uri(
|
||||||
|
if (version.toString().endsWith("SNAPSHOT")) {
|
||||||
|
"https://nexus.thpeetz.de/repository/maven-snapshots/"
|
||||||
|
} else {
|
||||||
|
"https://nexus.thpeetz.de/repository/maven-releases/"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
// Credentials
|
||||||
|
credentials {
|
||||||
|
username = project.findProperty("nexusUsername") as String? ?: System.getenv("NEXUS_USERNAME")
|
||||||
|
password = project.findProperty("nexusPassword") as String? ?: System.getenv("NEXUS_PASSWORD")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# This file was generated by the Gradle 'init' task.
|
# This file was generated by the Gradle 'init' task.
|
||||||
# https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
# https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
description='Kontor Documentation'
|
||||||
|
version=0.3.0-SNAPSHOT
|
||||||
|
group=de.thpeetz
|
||||||
org.gradle.configuration-cache=true
|
org.gradle.configuration-cache=true
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
#let version = sys.inputs.at("version", default: "0.0.1")
|
||||||
//#set page("a4")
|
//#set page("a4")
|
||||||
#import "@preview/basic-report:0.4.0": *
|
#import "@preview/basic-report:0.5.0": *
|
||||||
#import "@preview/in-dexter:0.7.2": *
|
#import "@preview/in-dexter:0.7.2": *
|
||||||
#import "@preview/pintorita:0.1.4"
|
#import "@preview/pintorita:0.1.4"
|
||||||
|
|
||||||
@@ -8,14 +9,12 @@
|
|||||||
|
|
||||||
#show: it => basic-report(
|
#show: it => basic-report(
|
||||||
doc-category: "Entwicklungs- und Projekthandbuch",
|
doc-category: "Entwicklungs- und Projekthandbuch",
|
||||||
doc-title: "Projekt kontor",
|
doc-title: "Projekt kontor\nVersion " + version,
|
||||||
author: "Thomas Peetz",
|
author: "Thomas Peetz",
|
||||||
//affiliation: "MouseTec, Entenhausen",
|
|
||||||
//logo: image("assets/aerospace-engineering.png", width: 2cm),
|
|
||||||
// <a href="https://www.flaticon.com/free-icons/aerospace" title="aerospace icons">Aerospace icons created by gravisio - Flaticon</a>
|
|
||||||
language: "de",
|
language: "de",
|
||||||
compact-mode: false,
|
compact-mode: false,
|
||||||
it
|
show-outline: true,
|
||||||
|
it,
|
||||||
)
|
)
|
||||||
|
|
||||||
= Allgemeines
|
= Allgemeines
|
||||||
|
|||||||
+43
-29
@@ -1,63 +1,76 @@
|
|||||||
"""
|
"""
|
||||||
read file with URLs and store in DB
|
read file with URLs and store in DB
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
import logging.config
|
import logging.config
|
||||||
|
from pathlib import Path
|
||||||
|
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
|
||||||
import requests
|
import requests
|
||||||
import yaml
|
import yaml
|
||||||
import json
|
|
||||||
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
|
|
||||||
from pathlib import Path
|
|
||||||
from platformdirs import PlatformDirs
|
from platformdirs import PlatformDirs
|
||||||
from proton import Message, Event
|
from proton import Message, Event
|
||||||
from proton.handlers import MessagingHandler
|
from proton.handlers import MessagingHandler
|
||||||
from proton.reactor import Container
|
from proton.reactor import Container
|
||||||
|
|
||||||
parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter)
|
||||||
parser.add_argument('-u', '--url', help='link')
|
parser.add_argument("-u", "--url", help="link")
|
||||||
parser.add_argument('--video', help='store Url as VideoFile', action="store_true")
|
parser.add_argument("--video", help="store Url as VideoFile", action="store_true")
|
||||||
parser.add_argument("--api", help="use Kontor API", action="store_true")
|
parser.add_argument("--api", help="use Kontor API", action="store_true")
|
||||||
parser.add_argument('--config', '-c', default='kontor-docker')
|
parser.add_argument("--config", "-c", default="kontor-docker")
|
||||||
parser.add_argument('--verbose', '-v', action='count', default=0)
|
parser.add_argument("--verbose", "-v", action="count", default=0)
|
||||||
|
parser.add_argument("--server", "-s", default="127.0.0.1")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def get_logger(level: int, config: str):
|
def get_logger(level: int, config: str):
|
||||||
|
"""
|
||||||
|
create Logger with configuration from config file
|
||||||
|
"""
|
||||||
dirs = PlatformDirs(config)
|
dirs = PlatformDirs(config)
|
||||||
logging_config = Path(dirs.user_config_dir, 'logging-config.yaml')
|
logging_config = Path(dirs.user_config_dir, "logging-config.yaml")
|
||||||
with open(logging_config, 'rt') as f:
|
with open(logging_config, "rt", encoding="UTF-8") as f:
|
||||||
configDict = yaml.safe_load(f.read())
|
config_dict = yaml.safe_load(f.read())
|
||||||
logging.config.dictConfig(configDict)
|
logging.config.dictConfig(config_dict)
|
||||||
logger = logging.getLogger('development')
|
log = logging.getLogger("development")
|
||||||
if level is not None:
|
if level is not None:
|
||||||
match level:
|
match level:
|
||||||
case 0:
|
case 0:
|
||||||
logger.setLevel(logging.INFO)
|
log.setLevel(logging.INFO)
|
||||||
case 1:
|
case 1:
|
||||||
logger.setLevel(logging.DEBUG)
|
log.setLevel(logging.DEBUG)
|
||||||
case _:
|
case _:
|
||||||
logger.setLevel(logging.CRITICAL)
|
log.setLevel(logging.CRITICAL)
|
||||||
return logger
|
return log
|
||||||
|
|
||||||
|
|
||||||
class AddLinkMessage(MessagingHandler):
|
class AddLinkMessage(MessagingHandler):
|
||||||
def __init__(self, server, url, log):
|
"""
|
||||||
|
Create message for queue add_link_file
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, server, message, log):
|
||||||
super(AddLinkMessage, self).__init__()
|
super(AddLinkMessage, self).__init__()
|
||||||
log.info("create AddLinkMessage")
|
log.info("create AddLinkMessage")
|
||||||
self.server = server
|
self.server = server
|
||||||
self.address = "add_link_media"
|
self.address = "add_link_media"
|
||||||
self.url = url
|
self.message = message
|
||||||
self.log = log
|
self.log = log
|
||||||
|
|
||||||
def on_start(self, event: Event):
|
def on_start(self, event):
|
||||||
self.log.info("Connection...")
|
self.log.info("Connection...")
|
||||||
conn = event.container.connect(self.server, user="artemis", password="artemis")
|
conn = event.container.connect(self.server, user="artemis", password="artemis")
|
||||||
event.container.create_sender(conn, self.address)
|
event.container.create_sender(conn, self.address)
|
||||||
|
|
||||||
def on_connection_error(self, event: Event) -> None:
|
def on_connection_error(self, event) -> None:
|
||||||
self.log.info(f"error: {event}")
|
self.log.info(f"error: {event}")
|
||||||
|
|
||||||
def on_sendable(self, event: Event):
|
def on_sendable(self, event):
|
||||||
self.log.info("send message")
|
self.log.info("send message")
|
||||||
json_content = json.dumps(self.url)
|
json_content = json.dumps(self.message)
|
||||||
event.sender.send(Message(body=json_content, address=self.address, content_type="text/json"))
|
event.sender.send(
|
||||||
|
Message(body=json_content, address=self.address, content_type="text/json")
|
||||||
|
)
|
||||||
event.connection.close()
|
event.connection.close()
|
||||||
event.sender.close()
|
event.sender.close()
|
||||||
|
|
||||||
@@ -65,19 +78,20 @@ class AddLinkMessage(MessagingHandler):
|
|||||||
self.log.info(f"accepted: {event}")
|
self.log.info(f"accepted: {event}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == "__main__":
|
||||||
logger = get_logger(args.verbose, args.config)
|
logger = get_logger(args.verbose, args.config)
|
||||||
logger.info('kontor.add_link started')
|
logger.info("kontor.add_link started")
|
||||||
link: str = args.url
|
link: str = args.url
|
||||||
data = {"url": link}
|
data = {"url": link}
|
||||||
|
server_url: str = f"amqp://{args.server}:5672"
|
||||||
if args.api:
|
if args.api:
|
||||||
if args.video:
|
if args.video:
|
||||||
request: str = "http://127.0.0.1:8800/api/video/files"
|
request: str = "http://127.0.0.1:8800/api/video/files"
|
||||||
else:
|
else:
|
||||||
request: str = "http://127.0.0.1:8800/api/media/files"
|
request: str = "http://127.0.0.1:8800/api/media/files"
|
||||||
response = requests.post(request, json=data)
|
response = requests.post(request, json=data, timeout=5)
|
||||||
logger.info(f"Status: {response.status_code}")
|
logger.info("Status: %s", response.status_code)
|
||||||
data = response.json()
|
data = response.json()
|
||||||
else:
|
else:
|
||||||
Container(AddLinkMessage("amqp://127.0.0.1:5672", data, logger)).run()
|
Container(AddLinkMessage(server=server_url, message=data, log=logger)).run()
|
||||||
logger.info('kontor.add_link finished')
|
logger.info("kontor.add_link finished")
|
||||||
|
|||||||
@@ -94,10 +94,11 @@ dependencies {
|
|||||||
//asciidoctorGems libs.diagram
|
//asciidoctorGems libs.diagram
|
||||||
}
|
}
|
||||||
|
|
||||||
def pdfFile = layout.buildDirectory.file("docs/asciidocPdf/kontor-spring.pdf")
|
dependencyManagement {
|
||||||
def pdfArtifact = artifacts.add('archives', pdfFile.get().asFile) {
|
imports {
|
||||||
type 'pdf'
|
mavenBom libs.vaadin.bom.get().toString()
|
||||||
builtBy asciidoctorPdf
|
mavenBom libs.camel.bom.get().toString()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
@@ -129,44 +130,6 @@ publishing {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final BUILD_DATE = new Date().format('dd.MM.yyyy').toString()
|
|
||||||
|
|
||||||
asciidoctorPdf {
|
|
||||||
dependsOn asciidoctorGemsPrepare
|
|
||||||
|
|
||||||
baseDirFollowsSourceFile()
|
|
||||||
|
|
||||||
asciidoctorj {
|
|
||||||
modules {
|
|
||||||
diagram.use()
|
|
||||||
}
|
|
||||||
requires 'rouge'
|
|
||||||
attributes 'build-gradle': file('build.gradle'),
|
|
||||||
'endpoint-url': 'https://www.thpeetz.de',
|
|
||||||
'source-highlighter': 'rouge',
|
|
||||||
'imagesdir': './images',
|
|
||||||
'toc': 'left',
|
|
||||||
'toc-title': 'Inhaltsverzeichnis',
|
|
||||||
'revdate': BUILD_DATE,
|
|
||||||
'revnumber': { project.version.toString() },
|
|
||||||
'revremark': 'Entwurf',
|
|
||||||
'chapter-label': '',
|
|
||||||
'icons': 'font',
|
|
||||||
'idprefix': 'id_',
|
|
||||||
'idseparator': '-',
|
|
||||||
'docinfo1': ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
build.dependsOn asciidoctorPdf
|
|
||||||
|
|
||||||
dependencyManagement {
|
|
||||||
imports {
|
|
||||||
mavenBom libs.vaadin.bom.get().toString()
|
|
||||||
mavenBom libs.camel.bom.get().toString()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
application {
|
application {
|
||||||
mainClass = 'de.thpeetz.kontor.Application'
|
mainClass = 'de.thpeetz.kontor.Application'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,509 +0,0 @@
|
|||||||
= Projektbeschreibung kontor-spring: Entwicklungs- und Projekthandbuch
|
|
||||||
:author: Thomas Peetz
|
|
||||||
:email: <thomas.peetz@thpeetz.de>
|
|
||||||
:doctype: book
|
|
||||||
:sectnums:
|
|
||||||
:sectnumlevels: 4
|
|
||||||
:toc:
|
|
||||||
:toclevels: 4
|
|
||||||
:table-caption!:
|
|
||||||
:counter: table-number: 0
|
|
||||||
|
|
||||||
[title="Dokumenthistorie", id="Table-{counter:table-number}", options="header"]
|
|
||||||
|===
|
|
||||||
| Version | Datum | Autor | Änderungsgrund / Bemerkungen
|
|
||||||
| 1.0.0 | 16.05.2022 | Thomas Peetz | Ersterstellung
|
|
||||||
|===
|
|
||||||
|
|
||||||
== Allgemeines
|
|
||||||
|
|
||||||
=== Zweck des Dokumentes
|
|
||||||
|
|
||||||
Das Entwicklungshandbuch beschreibt die Werkzeuge und die Vorgehensweise bei der Entwicklung
|
|
||||||
im Projekt kontor-spring und der Erstellung der Dokumentation.
|
|
||||||
|
|
||||||
=== Verwendete Tools
|
|
||||||
|
|
||||||
==== Gitea
|
|
||||||
|
|
||||||
Für die Verwaltung des Sourcecode kommt ((Gitea))<<gitea>> zum Einsatz.
|
|
||||||
Mit Gitea werden auch die Projektaufgaben verwaltet.
|
|
||||||
|
|
||||||
Das Projekt und das dazugehörige Git Repository sind unter der Adresse
|
|
||||||
|
|
||||||
https://gitea.thpeetz.de/kontor/kontor-spring
|
|
||||||
|
|
||||||
zu finden.
|
|
||||||
|
|
||||||
== Erstellung der Dokumentation
|
|
||||||
|
|
||||||
Die Dokumentation des Projektes wird mit ((Asciidoctor))<<asciidoctor>> geschrieben.
|
|
||||||
Die Dokumente erhalten ihre Namen nach dem jeweiligen Hauptdokument.
|
|
||||||
|
|
||||||
=== Quellcode Verwaltung
|
|
||||||
|
|
||||||
Die Asciidoctor-Dateien haben die Endung `.adoc`.
|
|
||||||
|
|
||||||
=== Buildsystem
|
|
||||||
|
|
||||||
Zur Erstellung der PDF-Dateien aus den Asciidoctor-Dateien wird das Buildsystem ((Gradle))<<gradle>> verwendet.
|
|
||||||
Die Dateien für die Dokumente liegen im Verzeichnis `src/docs/asciidoc`.
|
|
||||||
|
|
||||||
Der Gradle Build wird über die Datei `build.gradle` definiert.
|
|
||||||
|
|
||||||
|
|
||||||
== Einführung
|
|
||||||
|
|
||||||
=== Zweck
|
|
||||||
|
|
||||||
=== Stakeholder des Systems
|
|
||||||
|
|
||||||
=== Systemumfang
|
|
||||||
|
|
||||||
==== Zielsetzung des Systems
|
|
||||||
|
|
||||||
=== Systemübersicht
|
|
||||||
|
|
||||||
==== Systemkontext
|
|
||||||
|
|
||||||
==== Systemarchitektur
|
|
||||||
|
|
||||||
==== Systemschnittstellen
|
|
||||||
|
|
||||||
===== Realisierte Schnittstellen
|
|
||||||
|
|
||||||
===== Verwendete Schnittstellen
|
|
||||||
|
|
||||||
==== Logisches Datenmodell
|
|
||||||
|
|
||||||
===== Benutzer ER-Diagramm
|
|
||||||
|
|
||||||
[mermaid, kontor-user-er, png]
|
|
||||||
.Benutzer ER-Diagramm
|
|
||||||
....
|
|
||||||
erDiagram
|
|
||||||
user {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string email
|
|
||||||
boolean enabled
|
|
||||||
string firstName
|
|
||||||
string lastName
|
|
||||||
string password
|
|
||||||
string token
|
|
||||||
boolean tokenExpired
|
|
||||||
string userName UNIQUE
|
|
||||||
}
|
|
||||||
role {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
authorization_matrix {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string user_id FK
|
|
||||||
string role_id FK
|
|
||||||
}
|
|
||||||
module_data {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
boolean import_data
|
|
||||||
string module_name UNIQUE
|
|
||||||
}
|
|
||||||
user ||--o{ authorization_matrix : "matrix"
|
|
||||||
role ||--o{ authorization_matrix : "matrix"
|
|
||||||
....
|
|
||||||
|
|
||||||
|
|
||||||
===== Comics ER-Diagramm
|
|
||||||
|
|
||||||
[mermaid, kontor-comics-er, png]
|
|
||||||
.Comics ER-Diagramm
|
|
||||||
....
|
|
||||||
erDiagram
|
|
||||||
comic {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
boolean completed
|
|
||||||
boolean currentOrder
|
|
||||||
string title
|
|
||||||
string publisher_id FK
|
|
||||||
}
|
|
||||||
volume {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
string comic_id FK
|
|
||||||
}
|
|
||||||
issue {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
boolean in_stock
|
|
||||||
boolean is_read
|
|
||||||
string issue_number
|
|
||||||
string comic_id FK
|
|
||||||
string volume_id FK
|
|
||||||
}
|
|
||||||
publisher {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
artist {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
story_arc {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
string comic_id FK
|
|
||||||
}
|
|
||||||
trade_paperback {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
int issueStart
|
|
||||||
int issueEnd
|
|
||||||
string name
|
|
||||||
string comic_id FK
|
|
||||||
}
|
|
||||||
worktype {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
comic_work {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string artist_id FK
|
|
||||||
string comic_id FK
|
|
||||||
string worktype_id FK
|
|
||||||
}
|
|
||||||
comic ||--o{ comic_work : "1"
|
|
||||||
artist ||--o{ comic_work : "1"
|
|
||||||
worktype ||--o{ comic-work : "1"
|
|
||||||
publisher ||--o{ comic : "1"
|
|
||||||
comic ||--o{ issue : "1"
|
|
||||||
comic ||--o{ volume : "1"
|
|
||||||
comic ||--o{ story_arc : "1"
|
|
||||||
comic ||--o{ trade_paperback : "1"
|
|
||||||
volume ||--o{ issue : "1"
|
|
||||||
....
|
|
||||||
|
|
||||||
===== TYSC ER-Diagramm
|
|
||||||
|
|
||||||
[mermaid, kontor-tysc-er, png]
|
|
||||||
.TYSC ER-Diagramm
|
|
||||||
....
|
|
||||||
erDiagram
|
|
||||||
sport {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
team {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
string short_name
|
|
||||||
string sport_id FK
|
|
||||||
}
|
|
||||||
field_position {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
string short_name
|
|
||||||
string sport_id FK
|
|
||||||
}
|
|
||||||
rooster {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
int year
|
|
||||||
string player_id FK
|
|
||||||
string position_id FK
|
|
||||||
string team_id FK
|
|
||||||
}
|
|
||||||
player {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string first_name
|
|
||||||
string last_name
|
|
||||||
}
|
|
||||||
vendor {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name
|
|
||||||
}
|
|
||||||
card_set {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
boolean insert_set
|
|
||||||
string name
|
|
||||||
boolean parallel_set
|
|
||||||
string vendor_id FK
|
|
||||||
}
|
|
||||||
card {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
int cardNumber
|
|
||||||
int year
|
|
||||||
string card_set FK
|
|
||||||
string rooster_id FK
|
|
||||||
string vendor_id FK
|
|
||||||
}
|
|
||||||
sport ||--o{ team : "1"
|
|
||||||
sport ||--o{ field_position : "1"
|
|
||||||
field_position ||--o{ rooster : "1"
|
|
||||||
player ||--o{ rooster : "1"
|
|
||||||
team ||--o{ rooster : "1"
|
|
||||||
vendor ||--o{ card : "1"
|
|
||||||
card_set ||--o{ card : "1"
|
|
||||||
rooster ||--o{ card : "1"
|
|
||||||
....
|
|
||||||
|
|
||||||
===== Bookshelf ER-Diagramm
|
|
||||||
|
|
||||||
[mermaid, kontor-bookshelf-er, png]
|
|
||||||
.Bookshelf ER-Diagramm
|
|
||||||
....
|
|
||||||
erDiagram
|
|
||||||
article {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string title
|
|
||||||
}
|
|
||||||
book {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string isbn UNIQUE
|
|
||||||
string title
|
|
||||||
int year
|
|
||||||
string publisher_id FK
|
|
||||||
}
|
|
||||||
bookshelf_publisher {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string name UNIQUE
|
|
||||||
}
|
|
||||||
author {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string first_name
|
|
||||||
string last_name
|
|
||||||
}
|
|
||||||
article_author {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string article_id FK
|
|
||||||
string author_id FK
|
|
||||||
}
|
|
||||||
book_author {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string book_id FK
|
|
||||||
string author_id FK
|
|
||||||
}
|
|
||||||
publisher ||--o{ book : "1"
|
|
||||||
article ||--o{ article_author : "1"
|
|
||||||
author ||--o{ article_author : "1"
|
|
||||||
book ||--o{ book_author : "1"
|
|
||||||
author ||--o{ book_author : "1"
|
|
||||||
....
|
|
||||||
|
|
||||||
===== Mail ER-Diagramm
|
|
||||||
|
|
||||||
[mermaid, kontor-mail-er, png]
|
|
||||||
.Mail ER-Diagramm
|
|
||||||
....
|
|
||||||
erDiagram
|
|
||||||
mail {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string subject
|
|
||||||
string content
|
|
||||||
datetime received_date
|
|
||||||
datetime sent_date
|
|
||||||
}
|
|
||||||
mail_account {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string host
|
|
||||||
string password
|
|
||||||
int port
|
|
||||||
string protocol
|
|
||||||
boolean start_tls
|
|
||||||
string user_name
|
|
||||||
}
|
|
||||||
mail_address {
|
|
||||||
string id PK
|
|
||||||
datetime created_date
|
|
||||||
datetime last_modified_date
|
|
||||||
int version
|
|
||||||
string internet_address UNIQUE
|
|
||||||
string personal
|
|
||||||
string user_id FK
|
|
||||||
}
|
|
||||||
user ||--o{ mail_address : "1"
|
|
||||||
....
|
|
||||||
|
|
||||||
==== Einschränkungen
|
|
||||||
|
|
||||||
== Anforderungen der Domäne
|
|
||||||
|
|
||||||
=== Systemfunktionen
|
|
||||||
|
|
||||||
==== Anwendungsfälle
|
|
||||||
|
|
||||||
==== Akteure
|
|
||||||
|
|
||||||
==== Zielgruppen
|
|
||||||
|
|
||||||
=== Anforderungen
|
|
||||||
|
|
||||||
==== Anforderungen an externe Schnittstellen
|
|
||||||
|
|
||||||
==== Funktionale Anforderungen
|
|
||||||
|
|
||||||
==== Qualitätsanforderungen
|
|
||||||
|
|
||||||
==== Randbedingungen
|
|
||||||
|
|
||||||
==== Weitere Anforderungen
|
|
||||||
|
|
||||||
==== Wartungs- und Supportinformationen
|
|
||||||
|
|
||||||
=== Verifikation
|
|
||||||
|
|
||||||
== Projektbeschreibung
|
|
||||||
|
|
||||||
=== Ausgangslage
|
|
||||||
|
|
||||||
//==== Rechtliche Vorgaben und Rahmenbedingungen
|
|
||||||
//=== Rahmenbedingungen
|
|
||||||
|
|
||||||
//==== Vorhandene Regelungen
|
|
||||||
|
|
||||||
=== Projektziele
|
|
||||||
|
|
||||||
=== Projektabgrenzung
|
|
||||||
|
|
||||||
//=== Voraussichtliche Kosten
|
|
||||||
|
|
||||||
//=== Projektrisiken
|
|
||||||
|
|
||||||
//==== Produktivität
|
|
||||||
|
|
||||||
//==== Finanzielle Risiken
|
|
||||||
|
|
||||||
//==== Akzeptanz
|
|
||||||
|
|
||||||
== Projektorganisation
|
|
||||||
|
|
||||||
=== Projekt-Aufbauorganisation
|
|
||||||
|
|
||||||
=== Rollendefinition
|
|
||||||
|
|
||||||
//==== Projektauftraggeber
|
|
||||||
|
|
||||||
//==== Projektausschuss
|
|
||||||
|
|
||||||
//==== Beratung / Qualitätssicherung
|
|
||||||
|
|
||||||
==== Projekteiter
|
|
||||||
|
|
||||||
==== Projektteam
|
|
||||||
|
|
||||||
==== Liste der Stakeholder
|
|
||||||
|
|
||||||
=== Projektablauforganisation
|
|
||||||
|
|
||||||
==== Projekt-Phasen
|
|
||||||
|
|
||||||
===== Erstellung der Projektdokumentation
|
|
||||||
|
|
||||||
|
|
||||||
== Verschiedenes
|
|
||||||
|
|
||||||
=== Erreichbarkeiten
|
|
||||||
|
|
||||||
[bibliography]
|
|
||||||
== Referenzen
|
|
||||||
|
|
||||||
- [[[asciidoctor]]] http://asciidoctor.org
|
|
||||||
- [[[gitea]]] http://www.gitea.org
|
|
||||||
- [[[gradle]]] http://www.gradle.org
|
|
||||||
- [[[jenkins]]] http://jenkins-ci.org
|
|
||||||
|
|
||||||
[glossary]
|
|
||||||
== Glossar
|
|
||||||
|
|
||||||
[index]
|
|
||||||
== Index
|
|
||||||
|
|
||||||
== Verzeichnisse
|
|
||||||
|
|
||||||
=== Abbildungsverzeichnis
|
|
||||||
|
|
||||||
=== Tabellenverzeichnis
|
|
||||||
|
|
||||||
<<Table-1, Tabelle 1>> <<Table-1>>
|
|
||||||
Reference in New Issue
Block a user