Verfügbar
ab 01.06.2020
Projekte
01/2019 - 05/2019
Assistenzanwendung zur Unterstützung des Supports

Im Rahmen des Projekts "Verfügbarkeitsprüfung und -bereitstellung von Telekommunikationsprodukten" gab es die Anforderung des Support-Teams, dass diese eine fachliche Sicht auf die Verfügbarkeitsdaten benötigen, um bei Fehlermeldungen Recherche betreiben zu können. Da diese Daten in einer Elasticsearch Datenbank liegen, die für einen Anwender schwierig zu durchsuchen ist, habe wir eine Web-Anwendung entwickelt, um dem Support eine fachliche Oberfläche zu bieten. Aus betrieblichen Gründen musste diese in einen Spring Boot-Container integriert werden.


Mein Schwerpunkt lag in der Entwicklung der Web-Oberfläche mittels ReactJS und Typescript. Hierbei war gefordert, dass der ReactJS-Client im Rahmen des Maven-Build-Prozesses getestet und in die Spring Boot-Anwendung integriert wird. Es sollte darüber hinaus die Möglichkeit bestehen, den Client im Entwicklungprozess separat starten zu können.


Als Vorgehensmodell haben wir Scrum eingesetzt.

Jenkins Scrum Spring Boot Maven Kotlin ReactJS Typescript Jira MaterialUI REST IntelliJ IDEA
09/2018 - 03/2019
Verwaltung von Produktverträgen

Diese Anwendung wurde im Rahmen eines komplexen Prozesses zur Massenmigration von Telekommunikationsproduktverträgen beauftragt. Der Auftrag bestand darin, Produkte und dessen Verträge speichern und abfragen zu können. Des Weiteren sollte auch eine Änderungshistorie für geänderte und gekündigte Verträge integriert sein.


Meine Aufgabe lag in der fachlichen Klärung mit dem Kunden und der anschließenden Entwicklung.

Jenkins Scrum TM Forum Spring Boot Maven Kotlin Jira Hexagonale Architektur REST IntelliJ IDEA Swagger Oracle DB

Addresspool zur Ausbauplanung und -realisierung

Im Rahmen eines Projektes zur Planung und Realisierung des Ausbaus der Internetverfügbarkeit, an dem mehrere Systeme beteiligt sind, wurde ein gemeinsamer Adress-Pool benötigt. Hierbei sollten externe Adress- und Geodaten eingelesen und normalisiert werden. Zudem sollten die Adressen mit Marktdaten angereichert werden können. Zusätzlich sollte es einen Prozess zum Klären von unbekannten Adressen geben. Die Adressdaten konnten anschließend einzeln oder mittels geographischer Bereiche abgefragt werden. Da die Abfragen recht groß werden konnten, lief die Abfrage asynchron über RabbitMQ.


Mein Schwerpunkt lag in der Entwicklung der Web-Oberfläche zur Klärung unbekannter Adressen mittels ReactJS und Typescript. Hierbei war gefordert, dass der ReactJS-Client im Rahmen des Maven-Build-Prozesses getestet und in die Spring Boot-Anwendung integriert wird. Es sollte aber weiterhin die Möglichkeit bestehen, den Client im Entwicklungprozess separat starten zu können.


Als Vorgehensmodell haben wir weitestgehend Scrum eingesetzt und sind zwischenzeitlich auch auf Kanban gewechselt.

Spring Framework Scrum PostGIS Maven Kotlin ReactJS Testcontainers Typescript MaterialUI Hexagonale Architektur REST IntelliJ IDEA Swagger PostgreSQL

Verfügbarkeitsprüfung und -bereitstellung von Telekommunikationsprodukten

Bei diesem Projekt handelt es sich um ein System, das regelmäßig aus verschiedenen Umsystemen Adressdaten, Produktvertragsdaten und technische Leistungsdaten für Internetanschlüsse (u.a. für Vectoring und Glasfaser) abfragt, aus diesen Daten die Verfügbarkeiten für verschiedene Reseller berechnet und zur Verfügung stellt. Zum einen war eine Live-Suche über REST für Verfügbarkeiten an Adressen gefordert, die bei der Adresssuche auch ungenaue Daten unterstützen sollte (Fuzzy Search). Dazu haben wir die ElasticSearch Datenbank genutzt. Zum anderen sollten in einem nächtlichen Durchlauf sog. Replikate mit den kompletten Verfügbarkeitsinformationen in XML generiert und allen Resellern zur Verfügung gestellt werden.


Um die Menge an Adressdaten (mehrere Millionen) in dem geforderten Zeitfenster verarbeiten zu können und für weitere Daten skalierbar zu bleiben, haben wir Spring Batch eingesetzt, um die Berechnung auf verteilten Workern parallel durchführen zu können.


Ich war bei diesem Projekt an der kompletten Konzeptionierung sowie der Entwicklung beteiligt.


Als Vorgehensmodell haben wir weitestgehend Scrum eingesetzt und sind zwischenzeitlich auch auf Kanban gewechselt.

Testautomatisierung Jenkins Scrum Kanban Java Maven Docker Spring Boot Testcontainers Spring Batch Jira Profiling REST IntelliJ IDEA Swagger Oracle DB Linux Elasticsearch DB RabbitMQ SOAP