Aufgabenbeschreibung:
Das Startup “evivecare” entwickelte mit “wortkowski” eine Online Anwendung zur Unterstützung von Logopäden in der Sprachtherapie. Dieses Produkt wurde nahezu komplett von externen Entwicklern umgesetzt. Neben diesem sollte ein soziales Netzwerk entwickelt werden, das unterstützend Inhalt liefern kann. Dieser Inhalt bestand aus Bild-Wort Kombinationen für die Sprachtherapie von Kindern.
Bestandteil waren eine Web App sowie eine mobile App. Mit beiden Anwendungen konnten diese Bild-Wort Paare hochgeladen und die Uploads anderer Nutzer bezüglich verschiedener Kriterien bewertet werden.
Meine Tätigkeit waren das Backend und die Web App aufgrund fehlender Kapazitäten bei dem eigentlichen Frontend Entwickler.
Das Backend verwaltete die Uploads und Bewertungen und lieferte der Geschäftsführung automatisch generierte Reports zu der App Performance (Anzahl Uploads, Registrierungen, usw).
Die Web App war sowohl mit allen modernen Browsern als auch auf Smartphones als App Alternative benutzbar.
Bei der Entwicklung der Cross Plattform Mobile App mit React Native habe ich intensiv unterstützt.
Ziele:
Entwicklung eines sozialen Netzwerks (Backend und Web Frontend). Das Backend soll eine REST API anbieten und große Datenmengen verwalten können. Die Skalierbarkeit muss gegeben sein und soll von Anfang an mitbedacht werden. Zu den Hauptaufgaben war auch die Initiierung und Wartung des Backends (Hard- und Softwarekomponenten).
Größte Erfolge:
Das Backend und die Web App funktionierten für alle internen und externen Benutzer einwandfrei. Benutzer haben sich ohne Probleme registrieren und das System nutzen können. Asynchron wurden komplexe Analysen durchgeführt, die das Benutzererlebnis nicht beeinflussten. Die Entwicklung des Bewertungssystems war äußerst anspruchsvoll und daher war es besonders erfüllend dieses in Aktion zu sehen. Genau so schön war es die Applikationen in Nutzung zu sehen.
Angewandte Technologien:
Das Backend wurde mit Python und dem Django Framework geschrieben. Zur Anwendung kam die Azure Cloud mit virtuellen Maschinen, automatischer Skalierung, S3 kompatiblen Object Storage. Als RDBMS wurde Postgres eingesetzt. Es wurde eine robuste skalierende Architektur aufgesetzt.
Django wurde mit Celery und RabbitMQ erweitert, damit im Hintergrund verlässlich Daten verarbeitet werden könne ohne das Benutzererlebnis zu stören.
Das Frontend war eine AngularJS Applikation. Beim CSS wurde auf Bootstrap zurückgegriffen.