initial commit

This commit is contained in:
Thies Mueller
2026-06-22 18:07:41 +02:00
commit e5c9279b3c
66 changed files with 602 additions and 0 deletions
Vendored
BIN
View File
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
public
site
.swp
.trunk
.venv
*/.DS_Store
.DS_Store
BIN
View File
Binary file not shown.
+105
View File
@@ -0,0 +1,105 @@
---
hide:
- footer
---
# Public API
Folgende API Endpunkte stellen wir zur Verfügung:
## Allgemeine Erklärungen
- Die öffentliche API befindet sich meistens unter `https://api.<tennant>.regattatech.de`, kann aber je nach Wunsch auch unter einer anderen Domain publiziert werden.
- "öffentliche API" meint in dem Zusammenhang, dass kein API Key benötigt wird. Es können jedoch IP Beschränkungen oder andere Sicherheitsvorkehrungen für bestimmte Endpunkte definiert sein.
- Die Endpunkte enden meistens mit einem `/current/` dies spezifiziert die aktuellste Regatta. Sollte eine andere Regatta gewünscht werden, kann diese mit der laufenden Regatta ID anstelle von `/current/` gewählt werden (zB `/2/`)
### /api/v1/bootliste/current/
#### Aufbau
Gibt in einem strukturierten JSON folgende Informationen aus:
- Eindeutige Boot-ID
- Name des Bootes
- Ggf. ehemalige Namen des Bootes
- Ob das betreffende Boot ein Jugendboot ist
- *Wer an der Trommel sitzt*
- *Wer "Auf Schlag" sitzt*
- *Woher das Team kommt*
- *Wie sich das Team definiert*
- *Bisherige Platzierungen*
- *Ob dies die erste Teilnahme ist*
- *Wie häufig schon teilgenommen wurde*
- *Ziele bei der Regatta*
- *Was das Team auszeichnet*
- *Schlachtruf des Teams*
- *Notizen zum Team*
- *Status des Teams (Veröffentlicht J/N)*
- *Pager ID des Teams*
- *Link zum Teambild*
Die Infos in Kursiv werden ggf. nur bestimmten Endpunkten mitgeteilt und sind hauptsächlich für Internetpräsenzen und Moderation gedacht.
#### Verwendung
- Apps
- Moderation
- Webseiten
### /api/v1/message
#### Aufbau
Gibt in einem strukturierten JSON folgende Informationen aus:
- Nachricht
- Wichtigkeit der Nachricht
#### Verwendung
- Apps
- Webseiten
- Moderation
- Push
### /api/v1/rennplan/current/
#### Aufbau
Gibt in einem strukturierten JSON folgende Informationen aus:
- Rennplan nach Lauf und Rennen
- UUID des jeweiligen Rennens
- Teilnehmende Boote nach Bahn des jeweiligen Rennens
- Zeitpunkt des jeweiligen Rennens
- Name des jeweiligen Rennens
- Laufende Nummer des jeweiligen Rennens
- Art des jeweiligen Rennens
#### Verwendung
- Apps
- Webseiten
- Moderation
### /api/v1/results/current/
#### Aufbau
Gibt in einem strukturierten JSON folgende Informationen aus:
- Ergebnisse nach Rennen
- UUID des jeweiligen Rennens
- Teilnehmende Boote nach Bahn des jeweiligen Rennens
- Gefahrene Zeit des Bootes nach Bahn & Rennen
- Zeitpunkt des jeweiligen Rennens
- Name des jeweiligen Rennens
- Laufende Nummer des jeweiligen Rennens
- Art des jeweiligen Rennens
#### Verwendung
- Apps
- Webseiten
- Moderation
#### Besonderheiten
**In bestimmten Modi werden während des letzten Laufes keine Ergebnisse über diese API publiziert!**
+7
View File
@@ -0,0 +1,7 @@
---
hide:
- footer
---
# Private API
**Da die private API kundenspezifisch entwickelt und betrieben wird, gibt es keine öffentliche Dokumentation dieser API**
+21
View File
@@ -0,0 +1,21 @@
---
hide:
- footer
---
# API
Die Core Applikation publiziert verschiedenste Daten über eine API.
Die API ist in 2 Bereiche unterteilt.
- Eine öffentliche Read-Only API welche Ergebnisse & Informationen Rund um die Regatta publiziert. Diese nutzen wir an verschiedensten Stellen, zB:
- WebApp
- Apps
- Bots
- Eine private Read-Write API die mit dem Core System kommuniziert. Diese nutzen wir nur, wenn ein Schreibzugriff benötigt wird, zB:
- Ergebnisse automatisiert eintragen
- Pager auslösen
- Boote anlegen/editieren
Die öffentliche API wird hier dokumentiert. Die Dokumentation der privaten API steht für unsere Kund*\innen oder auf Anfrage zur Verfügung.
+12
View File
@@ -0,0 +1,12 @@
---
hide:
- footer
---
# Android App
Unsere Android App ist in flutter entwickelt.
Sie unterstützt folgende Features:
- Ergebnisse
- Rennpläne
- Push Benachrichtigungen (firebase)
+12
View File
@@ -0,0 +1,12 @@
---
hide:
- footer
---
# iOS App
Unsere iOS App ist nativ in Swift entwickelt.
Sie unterstützt folgende Features:
- Ergebnisse
- Rennpläne
- Push Benachrichtigungen (apns2)
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Web App
Unsere Web App ist in HTML & JS entwickelt.
Sie unterstützt folgende Features:
- Ergebnisse
- Rennpläne
+13
View File
@@ -0,0 +1,13 @@
---
hide:
- footer
---
# Apps
Für die Ergebnispräsentation und Rennpläne haben wir Apps entwickelt, welche die Daten darstellen. Diese sind Push fähig und beziehen ihre Daten direkt von der API des Core Systems.
Aktuell können wir Apps für folgende Plattformen bereitstellen:
- Android (Google Play Store)
- iOS / iPadOS / macOS (Apple AppStore)
- Web
+22
View File
@@ -0,0 +1,22 @@
---
hide:
- footer
---
# Regatta Anlegen
Klicke als erstes auf Regatta anlegen
![Regatta Anlegen](/assets/images/core/02_regatta/s01.png)
Es öffnet sich eine Eingabemaske.
Fülle mindestens alle Felder aus, die mit einem Roten Pfeil markiert sind.
![s02](/assets/images/core/02_regatta/s02.png)
![s03](/assets/images/core/02_regatta/s03.png)
Die Regatta ist angelegt und wird automatisch geladen. Dort können nun Boote hinzugefügt werden, oder die Regatta editiert werden.
![s04](/assets/images/core/02_regatta/s04.png)
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Boote Anlegen
**Boote Anlegen funktioniert aktuell nur über die Admin Ansicht!**
Boote können aktuell nur über unsere Shop-Integration oder manuell angelegt werden.
Wir sind aber bereits dabei das zu ändern!
+17
View File
@@ -0,0 +1,17 @@
---
hide:
- footer
---
# Boote Zuweisen
In der Regatta Ansicht, scrolle nach unten und wähle "Boote zuweisen" aus.
![s01](/assets/images/core/04_boote_zuweisen/s01.png)
Wähle dann alle Boote aus die zugewiesen werden sollen.
Oben erscheint ein Counter wie viele Boote zugewiesen sind und wie viele maximal zugewiesen werden können.
![s02](/assets/images/core/04_boote_zuweisen/s02.png)
Dieser Counter ändert updated sich live, damit du immer den Überblick hast wie viele Boote du noch zuweisen kannst.
![s03](/assets/images/core/04_boote_zuweisen/s03.png)
Klicke am Ende auf "Boote zuweisen" um die Boote der Regatta zuzuweisen
![s04](/assets/images/core/04_boote_zuweisen/s04.png)
+31
View File
@@ -0,0 +1,31 @@
---
hide:
- footer
---
# Lauf 1 Erstellen / Boote in Rennen sortieren
Um den Lauf 1 zu erstellen drücke in der Regatta **nach dem ausreichend Boote zugewiesen sind** auf "Lauf auffüllen"
![s01](/assets/images/core/05_boote_sortieren/s01.png)
Dadurch wird der Lauf zufällig mit den zugewiesenen Booten gefüllt.
### Boote manuell verschieben
Um die Boote nach dem erstellen des Lauf 1 manuell zu sortieren, klicke auf den Lauf.
![s02](/assets/images/core/05_boote_sortieren/s02.png)
Scrolle nach unten und klicke auf "Boote neu auf Bahnen sortieren"
![s03](/assets/images/core/05_boote_sortieren/s03.png)
Nun kannst du per Drag & Drop die Boote neu in Rennen & Bahnen sortieren.
![s04](/assets/images/core/05_boote_sortieren/s04.png)
Scrolle am Ende nach unten und klicke auf "Speichern"
Solltest du Boote entfernt haben und nicht mehr alle Läufe vollständig sein, klicke auf "Trotzdem Speichern"
![s05](/assets/images/core/05_boote_sortieren/s05.png)
+13
View File
@@ -0,0 +1,13 @@
---
hide:
- footer
---
# Rennplan ausdrucken / als PDF exportieren
Um den Rennplan auszudrucken oder als PDF zu exportieren drücke auf den "Drucker"-Button neben dem Lauf
![s01](/assets/images/core/06_rennplan_drucken/s01.png)
Dann öffnet sich automatisch der Rennplan im praktischen PDF Format und kann entweder gedruckt oder gespeichert werden
![s02](/assets/images/core/06_rennplan_drucken/s02.png)
+19
View File
@@ -0,0 +1,19 @@
---
hide:
- footer
---
# Zeiten erfassen
Um Zeiten zu erfassen klicke auf den aktuellen Lauf
![s01](/assets/images/core/07_zeiten_erfassen/s01.png)
Klicke dann auf das Rennen für das du die Zeiten erfassen möchtest
![s02](/assets/images/core/07_zeiten_erfassen/s02.png)
Trage die Zeiten ein und klicke anschließend auf "Ergebnis speichern"
![s03](/assets/images/core/07_zeiten_erfassen/s03.png)
Zur Bestätigung wird das Ergebnis angezeigt. Gleichzeitig wird (wenn verfügbar) die Benachrichtigung via Push Benachrichtigung an Apps & Schnittstellen übertragen.
![s04](/assets/images/core/07_zeiten_erfassen/s04.png)
+7
View File
@@ -0,0 +1,7 @@
---
hide:
- footer
---
# Core Applikation
Die Core Applikation ist modular aufgebaut und enthält verschiedene Bereiche.
@@ -0,0 +1,9 @@
---
hide:
- footer
---
# Ergebnis Monitore
Wir bieten an, auf Wunsch ein System zu betreiben, welches mit Informationen aus der öffentlichen API informatioen abruft und auf großen Bildschirmen (zB Fernsehern/Beamern/LED Wänden) diese Informationen anzeigt.
Dieses System ist darauf optimiert keine Nutzereingaben zu erfordern (scrollt zB automatisiert durch die Ergebnisse)
+9
View File
@@ -0,0 +1,9 @@
---
hide:
- footer
---
# Moderationstools
Wir bieten unterschiedliche Moderationstools an.
Diese liefern Informationen zur aktuellen Regatta, die Möglichkeit Teams über die Pager Systeme zu informieren, sowie die Möglichkeit weitere Informationen für die Moderator*\innen zur Verfügung zu stellen um eine möglichst flüssige Moderation zu liefern.
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Pager benutzen
Aktuell unterstützen wir Pager nur bei einer Full Service Regatta, das heißt wenn wir vor Ort sind und das System betreuen.
Grund dafür ist, dass die Pager Relays und sende Stationen vor Ort aufgebaut werden müssen und Konfiguration benötigen.
Solltet ihr ein eigenes Pager System besitzen, welches eine API Integration bietet, können wir bei Bedarf dieses System implementieren.
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Pager
Unser Pagersystem bindet sich in unsere Core Applikation ein.
Es können auf einer Regatta an Teams Pager ausgegeben werden, welche zu definierbaren Zeitpunkten vibrieren und ein akustisches Signal von sich geben.
Die Pager arbeiten auf dem 433.92MHz Band und werden von einem lokalen System, mit mehreren Relays gesteuert.
+19
View File
@@ -0,0 +1,19 @@
---
hide:
- footer
---
# Telegram Bot
Wir bieten an, einen Telegram Bot zu betreiben.
Dieser bietet neben Push Benachrichtigungen auch die Möglichkeit Interaktiv den Rennplan abzurufen.
Regatta Ergebnisse als Push Benachrichtigung:
![s01](/assets/images/schnittstellen/push/telegram/s01.png)
Interaktiver Bot für Rennpläne:
![s02](/assets/images/schnittstellen/push/telegram/s02.png)
![s03](/assets/images/schnittstellen/push/telegram/s03.png)
![s04](/assets/images/schnittstellen/push/telegram/s04.png)
+16
View File
@@ -0,0 +1,16 @@
---
hide:
- footer
---
# Push
Das Core System kann (wenn konfiguriert) zu definierbaren Zeitpunkten Push Benachrichtigungen verschicken.
Dafür versendet das System an unsere Push Schnittstelle die Benachrichtigung.
Diese sendet dann die Benachrichtigung an die verschiedenen Kanäle.
Folgende Kanäle werden aktuell unterstützt:
- Apple iOS / iPadOS / macOS
- Android
- Telegram
@@ -0,0 +1,9 @@
---
hide:
- footer
---
# Team Präsentation
Über unser Team Sync Plugin, bieten wir die Möglichkeit auf einer WordPress Seite Informationen zu den Teams anzuzeigen.
Das Plugin erhälst du bei unserem Support.
@@ -0,0 +1,9 @@
---
hide:
- footer
---
# Rennpläne
Über unser Rennplan Sync Plugin, bieten wir die Möglichkeit auf einer WordPress Seite die aktuellen Rennpläne einer Regatta anzuzeigen.
Das Plugin erhälst du bei unserem Support.
+8
View File
@@ -0,0 +1,8 @@
---
hide:
- footer
---
# Wordpress
Wir bieten mehrere Schnittstellen für das CMS "WordPress" an.
Diese bedienen sich an der Public API und bieten so eine interaktive Möglichkeit die Webseite auszugestalten.
+7
View File
@@ -0,0 +1,7 @@
---
hide:
- footer
---
# Schnittstellen
Wir betreiben verschiedene Schnittstellen, welche auf Wunsch & nach Bedarf zur Verfügung gestellt werden können.
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Vorverkauf
Wir bieten an den Vorverkauf eurer Regatta zu organisieren.
Dies umfasst die Konfiguration & den Betrieb eines Shop Systems (auf Wunsch mit eigener Domain) welches von Vorverkauf, über bestimmte Abfragen, bis hin zur Zahlungsabwicklung und Rechnungserstellung alles übernehmen kann.
Wir setzen dafür auf die Software "pretix"
+8
View File
@@ -0,0 +1,8 @@
---
hide:
- footer
---
# Rennleitung
Natürlich kommen wir gerne vorbei und betreuen die Regatta vor Ort.
Mit unserer jahrelanger Erfahrung bieten wir die Möglichkeit den Ablauf der Regatta an uns und unsere Partner auszulagern.
+13
View File
@@ -0,0 +1,13 @@
---
hide:
- footer
---
# Internet Vor-Ort
Wir wissen. So ein tolles Setup bringt nichts, wenn dann kein Internet vor Ort zur Verfügung steht.
Daher bieten wir an die Zeiterfassung / Rennleitung direkt mit ins Internet zu bringen.
Egal ob DSL, LTE, 5G oder Sattelitenverbindung, wir bringen das System online.
*DSL Verbindung muss vom Veranstalter gestellt werden, andere Systeme können bei uns geliehen werden*
+26
View File
@@ -0,0 +1,26 @@
---
hide:
- footer
---
# Photos & Videos
**Auf Wunsch dokumentieren wir die Regatta für euch.**
Mit Drohnen, Videokameras & Photokameras sind wir für euch vor Ort und filmen & photografieren die Regatta und den Trubel drum herum.
Gerne schneiden wir die Videos danach zu einem kurzen Video zusammen, oder bearbeiten die Photos im Nachgang.
Sprecht uns einfach an!
#### Beispiel Videos:
- [Sport am Tankumsee 2024](https://www.youtube.com/watch?v=5WF_HB0ztoc)
- [Sport am Tankumsee 2026](https://www.youtube.com/watch?v=OQKauq4nus8)
## Photobox
Auf Wunsch stellen wir vor Ort eine Photobox auf.
An dieser können eure Besucher*\innen Photos machen, diese per QR-Code abrufen oder sich (auf Wunsch) direkt ausdrucken lassen.
Sprecht uns auch dafür gerne an!
+11
View File
@@ -0,0 +1,11 @@
---
hide:
- footer
---
# Webseiten
Noch keine eigene Webseite?
Oder schon, aber seit jahren nichts mehr dran gemacht?
Wir bieten euch an, zusammen mit unseren Partnerfirmen die Webseite zu überarbeiten und direkt unsere Systeme zu integrieren.
+9
View File
@@ -0,0 +1,9 @@
---
hide:
- footer
---
# Weitere Services
Auf Wunsch bieten wir weitere Services an. Diese sind hier dokumentiert.
Die spezifische Dokumentation für einzelne Services befindet sich ggf. an einem anderen Ort.
BIN
View File
Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
/* Scale to fit the page */
/* Small images will become very blurry */
/* Not recommended */
.md-content__inner img {
width: 100%;
}
/* Scale to fit the page with constraints */
/* Smaller images will be min 25% of the width, so not as blurry */
/* Bigger images will be max 90% of the width, better for centring (?) */
.md-content__inner img {
min-width: 25%;
max-width: 90%;
}
/* Center the images */
.md-content__inner img {
display: block;
margin: 0 auto;
}
/* Add outline to make them pop */
.md-content__inner img {
outline: 1px solid var(--md-accent-fg-color);
}
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

+20
View File
@@ -0,0 +1,20 @@
---
hide:
- footer
---
# RegattaTech.DE Doku
![logo](/assets/images/regattatech-logo.png)
**Willkommen auf der Doku Seite von RegattaTech.DE**
Hier findest du Dokumentation zu unseren Systemen.
Sollten irgendwelche Fragen nicht beantwortet werden, wende dich gerne an unser Support Team unter [hi@regattatech.de](mailto:hi@regattatech.de){ .md-button }
<br /><br /><br />
<hr />
<br /><br />
[Legal](https://legal.tservic.es){ .md-button }
+50
View File
@@ -0,0 +1,50 @@
site_name: RegattaTech.DE Dokumentation
site_url: https://doku.regattatech.de
theme:
language: de
name: material
font: false
features:
- navigation.sections
- navigation.indexes
- toc.integrate
- navigation.footer
logo: assets/images/regattatech-logo.png
extra_css:
- assets/css/img.css
plugins:
- search
- awesome-pages
markdown_extensions:
- abbr
- pymdownx.snippets
- admonition
- pymdownx.details
- pymdownx.superfences
- attr_list
- md_in_html
- pymdownx.tabbed
- footnotes
repo_name: rg/doku
repo_url: https://git.tservic.es/rg/doku
extra:
generator: true
social:
- icon: fontawesome/brands/git
link: https://git.tservic.es/rg
name: callme
- icon: fontawesome/solid/paper-plane
link: mailto:hi@regattatech.de
name: mailme
+8
View File
@@ -0,0 +1,8 @@
mkdocs==1.6.1
mkdocs-awesome-pages-plugin==2.9.3
mkdocs-get-deps==0.2.0
mkdocs-material==9.5.35
mkdocs-material-extensions==1.3.1
jinja2
mkdocs-bootswatch