Kuppelwieser, Simon and Walser, Stefan (2018) “SAVE THE WORLD” - BUTTON. Masters thesis, HSR Hochschule für Technik Rapperswil.
Walser Kuppelwiser Publikation.pdf - Supplemental Material
Download (4MB) | Preview
Abstract
Ziel der Arbeit war die Entwicklung einer Webapplikation, auf welcher sich potentielle Spender mit gemeinnützigen Organisationen in Verbindung bringen können, um diese finanziell zu un-terstützen. Im Fokus stand dabei die Einfachheit des Spendenvorgangs, welcher durch einen Internet of Things (IoT)-Button ausgelöst wird. Dazu personalisiert ein Spender seinen IoT-But-ton über die Plattform mit der Zielorganisation, dem gewünschten Spendenbetrag und seinen Spendenlimiten. Eine simple Betätigung des Buttons genügt anschliessend um eine Spende abzusetzen.
Das Produkt der Arbeit besteht im Wesentlichen aus den drei Teilen: «Frontend, Backend und IoT-Button». Im Mittelpunkt der Entwicklung stand eine gute Wartbarkeit, Testbarkeit und Er-weiterbarkeit. Deshalb wurde die Applikation konsequenterweise in ein Frontend und ein Ba-ckend unterteilt. Des Weiteren wurde stark auf Dependency Inversion und auf Dependency Injection gesetzt. Das Frontend wurde in C# programmiert und als ASP.NET Core 2.0 Webappli-kation mit MVC Pattern realisiert. Das Backend wurde ebenfalls in C# programmiert und als ein ASP.NET Core 2.0 basierendes REST API umgesetzt. Die Struktur im Backend stützt sich auf den Clean Architecture Ansatz und setzt vermehrt auf asynchrone Prozesse. Sowohl Frontend als auch Backend werden auf einem Applikationsserver in der Microsoft Azure Cloud gehostet. Als Basis für den IoT-Button wurde ein ESP-12F Mikrokontroller der ESP8266 Familie mit Arduino Bootloader verwendet. Die Software wurde in C++ programmiert.
Da bei einer Spende eine Zahlungsabwicklung getätigt wird, durfte die Kommunikationssicher-heit nicht vernachlässigt werden. Eine Verschlüsselung der Kommunikation zwischen IoT-But-ton und REST API auf Basis eines Challenge Response-Verfahrens mit Secret Key stellt sicher, dass nur eine autorisierte Spende ausgeführt werden kann und schützt gleichzeitig vor Replay Attacken.
Die im Rahmen der Arbeit gestellten Anforderungen konnten erfüllt werden und mit der ent-wickelten Lösung wurde ein Proof of Concept fertiggestellt. Für eine kommerzielle Verwendung des Produkts müsste allerdings weitere Zeit in die Entwicklung investiert werden. Unter ande-rem muss ein realer Payment Provider eingebunden, die Button-Software um eine Update Schnittstelle erweitert, sowie die Hardware (Gehäuse etc.) optimiert und für die Massenpro-duktionsfähigkeit getrimmt werden.
Item Type: | Thesis (Masters) |
---|---|
Subjects: | Topics > Internet Technologies and Applications > Internet of Things (IoT) Technologies > Programming Languages > C# Technologies > Frameworks and Libraries > ASP.NET Technologies > Web |
Divisions: | Master of Advanced Studies in Software Engineering |
Depositing User: | Stud. I |
Contributors: | Contribution Name Email Thesis advisor Merkli, Jean-Daniel UNSPECIFIED |
Date Deposited: | 16 Oct 2018 11:36 |
Last Modified: | 17 Oct 2018 08:35 |
URI: | https://eprints.ost.ch/id/eprint/711 |