myPaperboy - mobile Unterstützung für Zeitungsausträger und Verlage

Der Grundgedanke

Vor nicht all zu langer Zeit haben wir den Auftrag für ein neues Projekt bekommen. Die Idee war, einerseits die Verleger von z.B. Zeitungen und andererseits die Austräger selbiger bei ihrer Arbeit durch eine mobile Smartphone-Anwendung zu unterstützen.
Die Anwendung soll für die gängigen Smartphone-Betriebssysteme - sprich: Android und iOS - verfügbar sein und von Austrägern installiert werden können.
Dabei sind die folgenden Kernfunktionen enthalten:
  • eine Karte, in der der Austräger sein jeweiliges Gebiet sehen kann
  • eine Übersicht mit aktuellen Informationen, die auf das Handy gepushed werden
  • ein Timer, um die Arbeitszeit zu stoppen
  • ein Backend, welches für Administratoren über den Browser zugänglich ist
  • dort können neue Austräger mit ihren Regionen sowie andere Benutzergruppen angelegt werden, die sich später in der mobilen Anwendung einloggen können

Die Umsetzung

Die gesamte Anwendung besteht aus zwei Teilen: 
  • das Backend (die Verwaltungsoberfläche), welche das Verwalten von Benutzeraccounts, Regionen etc. ermöglicht und
  • das Frontend (die mobile App), welche mit dem Backend kommuniziert und sich dort die benötigten Daten abholt
Das Backend
Da für den Zweck der Anwendung eine reduzierte Verwaltungsoberfläche völlig genügt, haben wir uns an dieser Stelle entschieden, auf TYPO3 zu verzichten und stattdessen TYPO3 Flow zu verwenden. Umfangreiche Erfahrungen in der Programmierung von TYPO3-Extensions mit Fluid/Extbase haben den Einstieg in Flow enorm enorm vereinfacht.
Zusätzlich zur Verwaltungsoberfläche liefert das Backend die Daten, die die mobile App benötigt, im JSON-Format aus (beispielsweise die Koordinaten von Austrägerregionen).
Bei der Implementation des Kartenmaterials haben wir auf Open Street Map gesetzt, da hier unbegrenzte Kartenaufrufe möglich sind und das System gut in das Backend sowie in das (Sencha Touch-basierte) Frontend integrierbar ist.
Das Frontend
Wie bereits erwähnt, besteht das Frontend hauptsächlich aus einer Sencha Touch-Oberfäche, die das "Gerüst" der Anwendung bereitstellt; die Daten holt sich die Anwendung über Ajax-Requests zum Backend. 
Sencha Cmd kam als "Kickstarter" für die Anwendung (zum Erstellen der Ordnerstruktur ganz im Sinne des MVC-Gedankens) sowie für die Build-Prozesse für fertige Milestones (dabei werden z.B. die SASS-Dateien zu CSS kompiliert sowie die zahlreichen JavaScript-Dateien zu einer einzigen Datei "minified", was die Ladezeit der Anwendung erheblich reduziert!) zum Einsatz.
Für die Versionierung kam eine Mischung aus Git (Frontend und Backend - unser Flow-Package sowie die Flow-Installation) sowie composer (ebenfalls Flow) zum Einsatz.
Fazit
Ein spannendes Projekt mit vielen interessanten Herausforderungen. Wir haben zwar bereits zuvor mit Flow und Sencha-Produkten (ExtJS) gearbeitet; da sich Flow aber noch in einer jungen (aber dennoch recht ausgereiften) Entwicklungsphase befindet und Sencha Touch erst durch den Siegeszug mobiler Geräte eine weite Verbreitung fand, gab es auch bei diesem Projekt viele interessante, neue Dinge zu entdecken und umzusetzen.
Anlässlich des Datums des Blogposts: ein schönes Weihnachtsfest und besinnliche Feiertage wünscht:
werkraum - Ihre mobile TYPO3-Agentur aus Karlsruhe!

Kategorien

TYPO3

Hat Dir der Artikel gefallen?