notifR

Im Rahmen einer Projektarbeit hat IRTECH eine MVP (Prototyp)-App für eine innovative Idee entwickelt.

notifR Mobile App

Anforderungen

Möglichst viele Informationen in einer einzigen App unterbringen – das war die Zielvorgabe für notifR. Egal ob es sich um das bevorzugten TV-Programm, um Konzerte in der Nähe oder um Informationen zum Wetter handelt: Die App soll umfangreiche Informationen liefern, für die ansonsten verschiedene Apps benötigt werden.

Der Fokus sollte hierbei auf den Nutzer selbst liegen. Eigenständig legt er aus verschiedenen Kategorien (z. B. Film, Musik, Sport, Wetter, …) seine Interessen fest. Fortan soll er über Push-Benachrichtigungen Informationen zu diesen Interessen erhalten. Diese Push-Benachrichtigungen beinhalten zum Beispiel Reminder, wenn ein Film aus einem vom Nutzer festgelegten Lieblings-Filmgenre im Fernsehen zu sehen ist. Auch Sportergebnisse oder unvorhergesehene Wetteränderungen werden per Push-Benachrichtigung an den Nutzer versendet.

Falls eine gewünschte Information in der notifR-Datenbank noch nicht vorhanden ist, kann eine Anfrage vom Nutzer versendet werden und eine neue Information wird in der Datenbank aufgenommen. Auf diese Weise soll die Bandbreite an Infos stetig wachsen.

Umsetzung und technische Implementierung

Die Umsetzung basiert auf einen neuen Ansatz, der sich in den letzten Jahren vermehrt bewährt hat: Die Microservices-Architektur.

Hierbei splitten sich die Verantwortungen einzelner Komponenten in untereinander unabhängige Teile. Nachfolgend eine Visualisierung des Ganzen:

Übersicht notifR-Architektur

Die technische Umsetzung basiert auf diversen technologischen Untersätzen:

  • Docker: Für die einzelnen Elemente wurden Docker-Container verwendet, um eine gute Trennung zu ermöglichen
  • PHP: Der Backend-Container wurde in der bewährten Sprache PHP realisiert. REST-Schnittstellen lassen sich damit schnell realisieren.
  • Go, NodeJS, Java: Für die einzelnen Connectors zu externen Anbietern wurden verschiedene Sprachen verwendet.
  • Ionic3: Für den mobilen App Client wurde das bewährte Ionic3-Framework genutzt. Wir werden in den folgenden Monaten den Sourcecode des Clients veröffentlichen.
  • PubNub: Für die Realtime-Kommunikation zwischen den einzelnen Microservices verwenden wir den PubNub-Service, mit welchem wir bereits bei dem Takeda InTheirShoes-Projekt gute Erfahrungen gemacht haben.
  • OneSignal: Für die Push-Meldungen verwenden wir den Cloud-Anbieter OneSignal, der den kostenlosen Versand von Pushmeldungen ermöglicht.

Wir haben zu Projektende beschlossen den Quelltext der App zu veröffentlichen. Der Link dazu ist am Schluss dieser Seite zu finden.

Fazit

Dieses Projekt ist nicht als ein fertiges Produkt zu verstehen, sondern hatte vor allem das Ziel, die Idee selber zu evaluieren. Ein weiterer Nutzen davon war das Ausprobieren einer modernen Architektur, die wir, als IRTECH, in Zukunft auch in weiteren Projekten verwenden können. Die Microservice-Architektur funktioniert nicht bei allen Anwendungsfällen gleich gut. Jedoch wird sie insbesondere bei grösseren Projekten immer beliebter.

Der Prototyp der App ist im Apple App Store zu finden. Eine Play Store Version war für den MVP nicht gefordert, liesse sich aber leicht durch das hybride System nachliefern.

notifR runterladen
notifR App Sourcecode einsehen