Die aWall ist eine Web Applikation für kollaborative und agile Softwareentwicklung auf einem grossen Multitouchscreen. Die Idee dahinter ist es, die für Meetings und Sprint Plannings noch häufig verwendeten physischen Taskboards zu ersetzen. Dabei kommt es auch häufig vor, dass Skizzen z.B. für Architekturen entworfen werden oder dass Ferienbilder, Grusskarten etc. an das Board gepinnt werden. Dieses Projekt soll nun dazu eine Lösung bieten, indem solche Taskboard relevanten Bilder und Skizzen mit der aWall Web Applikation verwaltet werden können. In diesem Projekt wurde deshalb die aWall mit einem Galerie Widget erweitert, an welches sich per Smartphone Bilder senden lassen. Hochgeladene Bilder lassen sich dann zudem mit dem Softwareentwicklungs Tool JIRA verknüpfen.
Angular 7, Touch Board, interact.js, socket.io, Python, JavaScript, ngCordova, Android, iOS, PostgreSQL, Flask
Folgendes waren zusammengefasst die Ziele des Projekts
Das Gallery Widget wurde bereits unter dem Namen Fun Widget schon einmal als Erweiterung der aWall umgesetzt. Allerdings wurde die Architektur und die verwendeten Technologien inzwischen überarbeitet und das alte Widget ist nicht mehr kompatibel zur aktuellsten Version. Der Web Client und der Backend Server existierten bereits bei Projektbeginn. Zusätzlich gibt es noch einen Synchronisations Server, welcher dafür zuständig ist, getätigte Interaktionen zweischen mehreren Web Clients in Echtzeit zu synchronisieren. Eine Smartphone Applikation existierte ebenfalls, Fun App Mobile, von der aus Bilder zum Gallery Widget hochgeladen werden konnten. Jedoch ist auch hier das Framework veraltet und die Schnittstellen nicht mehr brauchbar.
Aufgrund der gegebenen Rahmenbedingungen haben wir das Gallery Widget mit dem bereits vorhandenen Framework, mit der die aWall entwickelt wurde, implementiert. Dasselbe gilt für die Erweiterung des bereits bestehenden Backendservers, welcher mit REST Endpunkten erweitert wurde, und des Synchronisationsservers, in welchen ein zusätzlicher Sychronisationsmechanismus implementiert wurde. Das Framework der Handyapplikation wurde auf den neustmöglichen Stand gebracht, sämtliche Schnittstellen wurden aktualisiert und eine Schnittstelle zum Synchronisationsserver hinzugefügt.
Die grobe Architektur für unsere Lösung sieht wie folgt aus:
Ein Bild kann von einem Smartphone aus an den Backend Server pyWall gesendet werden, gleichzeitig
wird aber auch ein Event an den Synchronisations Server pySync gesendet. In der pyWall wird das
Bild abgespeichert und mit dem definierten JIRA Projekt verknüpft. Der pySync Server notifiziert
alle Web Clients für das aktuelle JIRA Projekt. Wird ein Client notifiziert holt sich dieser die
neuen Daten inkl. dem hochgeladenen Bild von dem pyWall Server, um das Bild dann entsprechend im
Gallery Widget darzustellen.
In der unten stehenden linken Abbildung wird das Gallery Widget dargestellt. In dieser Ansicht können die Bilder dann verwaltet werden
bzw. auch herausgezogen werden, um sie an einen JIRA Task oder Userstory anzuhängen. Ein herausgezogenes Bild kann auch auf der UI Oberfläche
frei platziert und vergrössert werden um dieses genauer anzusehen oder während eines Meetings zu besprechen.
Die untere rechte Abbildung zeigt die Ansicht der Mobile Applikation, mit welcher ein Bild hochgeladen werden kann. Der Ziel Server
kann dazu Projektspezifisch konfiguriert werden, so dass die Bilder auch mit dem richtigen Projekt verknüpft werden.
Projekttyp | Projektarbeit des 5. Semesters, IP5 |
---|---|
Projektdauer | 18.09.2018 - 18.01.2019 |
Personenstunden | 2x 180h |
Teamgrösse | 2 Personen |
Institut für Mobile und Verteilte Systeme (IMVS) FHNW Wissenschaftliche Mitarbeiterin an der Hochschule für Angewandte Psychologie FHNW Web Site IMVS