AcroScore - Software für Sportakrobatik-Veranstaltungen

Projektteam:

Name: Studiengang:
Jan Velten Bachelor Informatik
Patrick Schultheis Bachelor Informatik
Johannes Roos Bachelor Informatik
Oliver Bading Bachelor Informatik
Paul Siegrist Bachelor Informatik

Projektidee:

Der deutsche Sportakrobatik Bund (DSAB) umfasst rund 100 deutsche Sportakrobatik Vereine, die in einem professionellen Umfeld Wettkämpfe austragen.
Trotzdem findet die Punktevergabe durch die Kampfrichter bei diesen Wettkämpfen lediglich auf Papier statt. Alle Wertungen werden von dem Hauptrichter einzeln eingesammelt und anschließend, zur Berechnung des Endergebnisses, in ein Excelsheet eingetragen. Diese Prozedur kostet eine Menge Zeit und ist im Vergleich zum internationalen Standard nicht mehr zeitgemäß. Eine Software für die Punktevergabe und Auswertung ist dort schon lange Standard.
Um diese Lücke zu schließen soll im Rahmen des Moduls Projektmanagement eine Softwarelösung entwickelt werden.
Die Projektidee stammt von Herrn Thomas Prüfer.

Ziel des Projektes ist die Entwicklung der Wettkampfsoftware für den DSAB.
Dazu zählen die Punktevergabe der jeweiligen Kampfrichter, die mögliche Korrektur dieser Punkte durch die Hauptkampfrichter sowie die automatische Auswertung und Visualisierung der Ergebnisse.
Die sich aus den Punkten ergebenden Rangliste soll während des Wettkampfes im Internet live abrufbar sein.
Die Einrichtung des Servers und die Inbetriebnahme der Software schließen das Projekt ab.

Realisierung:

Wir entschieden uns zu einer lokalen Webanwendung, welche durch die jeweiligen Kampfrichter mit einem Smartphone/Tablet/Laptop bedient werden kann. Insgesamt ergeben sich dabei 3 zusammenspielende Systeme:

Desktop-App:

Hier lassen sich Veranstaltungen mit allen Infos und Abfolgen der Sportler einstellen und importieren.
Verwendete Technologien:
- Electron-App
- komplett basierend auf Node.js
- Angular.js
- Bootstrap
- Handsontable (Framework für Tabellenverwaltungen)
- nedb (Datenbank)
Über die Desktop-App wird der lokale Server gestartet und gestoppt. Da die App auf node.js und der Electron-App basiert, kann sie auf allen Plattformen verwendet werden. Eine Installation von node.js ist nicht notwendig.

Local-Server:

Der Local-Server stellt einen bestimmten Wettkampf bereit und bietet allen Kampfrichtern einen Login. Dort werden die Wertungen eingetragen und berechnet. Über die Beameransicht lässt sich jedes neue Ergebnis an einer Leinwand o.ä. live präsentieren.
Verwendete Technologien:
- komplett basierend auf Node.js
- Express.js (Servergrundfunktionen)
- Angular.js
- Bootstrap
- Socket.io (gewährleistet zu jeder Zeit, dass die Daten bei allen Clients im Frontend - auch beim Beamer - aktuell sind)
- nedb (Datenbank)
Der Local-Server (Backend) stellt eine API-bereit, über welche die Clients (Frontend) ihre Interaktionen ausführen. Über Socket.io werden alle Interaktionen den jeweils zuständigen Clients direkt mitgeteilt.

Liveticker-Server:

Der Liveticker-Server ist ein Server im WWW, über welchen ein Liveticker mit kompletten Live-Ergebnislisten pro Veranstaltung optional eingeschaltet werden kann. Er basiert auf den selben Technologien wie der Localserver.
Funktionesweise:
Foraussetzung ist ein Internetzugang für den Rechner, auf dem die Desktop-App mit dem Local-Server läuft.
Sobald es Änderungen an den Ergebnissen im Local-Server gibt, bekommt dies die Desktop-App mitgeteilt und sendet alle Daten an den Livetickerserver im Internet. Auch hier werden die Clients (die Anwender, welche die Veranstaltung live im Internet verfolgen) per Socket.io über neue Daten informiert und bekommen stets die aktuellen Daten angezeigt.