Ein veraltetes Bestandssystem einer Genossenschaft präsentierte Mitgliedern auf einer internen Serviceplattform Informationen zu Ladungsträgern und Auktionsergebnissen. Die Benutzeroberfläche dieser historisch gewachsenen Plattform war ausschließlich für Desktop-Auflösungen ausgelegt.
Um den Nutzern ein intuitiveres und verbessertes Nutzungserlebnis gemäß aktuellen UI/UX-Standards zu bieten, sollte dieses System durch eine cloudbasierte Neuentwicklung in Microsoft Azure ersetzt werden, die als Docker-Container im Kubernetes-Cluster betrieben wird. Dabei war eine nahtlose Integration bestehender, datenliefernder Systeme erforderlich. Die neue Plattform sollte zudem auch auf Mobilgeräten nutzbar sein, um den Nutzerbedürfnissen zu entsprechen.
In diesem Projekt lag mein Hauptfokus auf der Backend-Entwicklung. Ich entwickelte mehrere Microservices mit Spring-Boot und war primär für den Entwurf und die Umsetzung der Datenstrukturen sowie der Microservice-Architektur verantwortlich.
Eine Plattform für Finanzdienstleister hatte ineffiziente Kundengewinnungsprozesse aufgrund mangelnder Statustransparenz, Verifizierungsfehlern, Datenübertragungsproblemen und abgebrochenen Verträgen. Ein Kunde forderte die Verlagerung eines Teils einer Cloud-Anwendung aus Datensicherheitsgründen in eine On-Premise-Umgebung, was Herausforderungen bei der sicheren Datenübertragung verursachte. Compliance-Anforderungen erforderten eine neue Anwendungsversion, jedoch nutzten nicht alle Kunden diese zeitnah, was zu inkompatiblen Datenformaten führte, die weiterhin unterstützt werden mussten.
Zur Effizienzsteigerung erweiterte ich die Plattform um Echtzeit-Einblicke in die Kundengewinnung, verbesserte den Datenbereinigungsalgorithmus zur automatischen Löschung blockierter Verträge und entwickelte sichere Synchronisationsverfahren für den Datenaustausch zwischen On-Premise- und Cloud-Systemen. Ein Legacy-Datenimporter ermöglichte die Weiterverarbeitung alter Datenformate.
Zudem wurden neue Funktionen in die bestehende Software integriert, Datenübertragungsprozesse mit Finanzinstituten automatisiert, der Fehler-Rückmelde-Mechanismus per REST-API verbessert und eine Export-Import-Lösung mit SFTP für die Datensynchronisation zwischen On-Premise und Cloud implementiert.
Die Firma GS Elektromedizinische Geräte G. Stemple GmbH ist ein weltweit agierendes Unternehmen, welches sich auf die Entwicklung und Produktion von Medizintechnik spezialisiert hat und diese vertreibt. Eines der Produkte ist die corpuls.mission App, die verschiedene Module für kollaboratives Arbeiten zwischen Rettungskräften vor Ort und Telenotärzten anbietet. Darunter zählen Module wie Einsatz-Chats und Video-Telefonie. Dies erlaubt es Telenotärzten benötigte Maßnahmen anzuordnen, die zeitkritisch für den Patienten sind und somit lebensrettend sein können. Für eine hohe Flexibilität wird die Applikation als Web-App für Desktop-PCs und mobile App für iOS und Android angeboten. Zusätzlich müssen Rettungskräfte ihre Einsätze dokumentieren und alle Befunde sowie Maßnahmen für eine Übergabe erfassen. Bisher geschah dies auf Vordrucken, deren Ausfüllung durch Unübersichtlichkeit und Fehleranfälligkeit erschwert wird. Daher ist ein möglichst intuitives und unterstützendes Tool zur Dokumentation nötig, welches deutlich besser und direkter auf den Einsatz zugeschnitten ist. Um unser Verständnis für die Anforderungen der Rettungskräfte zu verbessern, wurden wir zu einem praktischen Workshop eingeladen. Während dieses Workshops wurde ein Rettungsvorgang vom Eintreffen bis zum Transport in einem echten Rettungswagen mit Hilfe von geschulten Sanitätern simuliert.
Für die Dokumentation wird ein neues Modul corpuls.mission REPORT entwickelt. corpuls entwickelt für dieses Modul eine Web-Applikation, mobile Apps für iOS und Android sowie das dazugehörige Backend. Der Fokus liegt auf einer guten UX (Benutzerfreundlichkeit), insbesondere während eines Rettungseinsatzes. Dabei nutzen wir für medizinisches Personal bekannte Schemata wie FAST und ABCDE und bieten diese so an, dass sie einfach und schnell sowohl am PC als auch auf einem Tablet ausgefüllt werden können.
Unser Team ist für die Entwicklung der Web-App zuständig. Für die Web-Oberfläche wird auf das Angular Framework gesetzt, die Programmierung selbst wird mit TypeScript durchgeführt. Das Backend baut auf einer Spring-Boot-Applikation mit Java auf und bietet REST-Schnittstellen, wie auch Web Sockets für die verschiedenen Clients. Für die Datenbank verwenden wir eine MongoDB. Da die Applikation weltweit im Einsatz ist, implementierten wir einen internationalisierten Hybriden, der jedem Kunden ein hohes Maß an Individualisierbarkeit der Terminologien anbietet.
Um die Kundenbedürfnisse erfolgreich erfüllen zu können, muss ein weltweit tätiges Reiseunternehmen in der Lage sein, Kostenvoranschläge für Hotelzimmer zu erstellen, ohne langwierige manuelle Prozessschritte zur Freigabe von Hotelzimmern durchführen zu müssen.
Wir entwickelten einen High-Performance Cache, der Hotelzimmerdaten basierend auf externen Quellen und internen Business-Kriterien verarbeitet und für die Suche zur Verfügung stellt. Die an diesen Cache übermittelten Abfragen generieren eine große Auswahl an Angeboten, die nach Faktoren wie Verfügbarkeit und Kundenmärkten gefiltert werden können, so dass die Kunden leicht ein passendes Hotelzimmer an ihrem Wunschort finden können.
Um diesen Cache auszuführen, wurde eine Reihe von Microservices mit Spring Boot erstellt und in einem AWS Kubernetes-Cluster verwaltet. Zusätzlich wurden Lambda-Funktionen erstellt, um eingehende SQS- und SNS-Streams im Unternehmen zu verarbeiten und sie zur weiteren Verarbeitung an den zentralen Kafka-Message-Bus weiterzuleiten. Die abschließende Anordnung der Daten in einer DynamoDB stellt den Datensatz für die Suchanfragen bereit.
Vor Jahren beauftragte ein Landwirtschaftsamt einen Dienst, der mit Hilfe von Geodaten und Satellitenbildern die in den Anträgen der Landwirte genannten Merkmale einer landwirtschaftlichen Fläche überprüfen sollte. Dazu war ein gemeinsamer Datenspeicher erforderlich, über den das Amt und der Dienst in regelmäßigen Abständen Daten austauschten. Leider war diese Methode des Datenaustauschs recht zeitaufwändig.
Es ist notwendig, eine direkte Verbindung herzustellen, um die Dauer der Auftragsbearbeitung drastisch zu verkürzen. Dazu sollte eine Schnittstelle geschaffen werden.
In frühen Gesprächen wurden bereits die Spezifikationen der neuen Schnittstellen festgelegt und man kam zu dem Schluss, dass REST für die Datenübertragung und Statusaktualisierung verwendet werden sollte. Da der Dienst die Schnittstellen noch nicht bereitstellen konnte, wurde ein Microservice implementiert, um die festgelegten Schnittstellen zu replizieren und die Entwicklungs- und Testprozesse vorübergehend zu unterstützen.
Ein Amt bot ein Formular für Zuschussanträge an, das digital ausgefüllt, aber per Postversand eines Datenträgers mit dem ausgefüllten Formular oder per Ausdruck per Post eingereicht wurde.
Um die Einreichung von Formularen effizienter zu gestalten, sollte die Einreichung, Prüfung und Genehmigung von Anträgen über eine moderne Webschnittstelle erfolgen, die sowohl für die Antragsteller als auch für die Bearbeiter der öffentlichen Dienste zugänglich ist.
Als Lösung wurde eine mehrstufige Web-Formular-Plattform entwickelt, die RPA zur teilweisen Automatisierung des Genehmigungsprozesses und zur Zugriffsverwaltung einsetzt, um den Zugang für bestimmte Personen je nach Prozessschritt zu ermöglichen.
Ein weltweit tätiges Unternehmen in der Tourismus-, Freizeit- und Schifffahrtsbranche bietet eine Schnittstelle zwischen Hotelbetreibern und Reisebüros, indem es eine große Datenbank mit Zimmerstatus unterhält, die Reisebüros täglich abrufen können. Die Pflege dieser Datenbank erfolgte bisher manuell.
Es wurde ein automatisierter Ansatz benötigt, um eine große Anzahl von Hotelzimmern durch einen regelbasierten Genehmigungsprozess zu schicken und sie dann dem Endkunden über verschiedene Vertriebskanäle anzubieten.
Unter ständigem Austausch mit anderen Teams wurde eine Anwendung entworfen und entwickelt, welche für die Definition, Verwaltung und Konfiguration der Regeln zuständig ist. Die Anwendung wurde in Angular 8 und Spring Boot entwickelt.
Beim Kauf oder Verkauf von Gebrauchtwagen muss der Käufer das Fahrzeug persönlich in Augenschein nehmen. Werden Mängel entdeckt, die der Verkäufer selbst nicht bemerkt hat, oder sind die Angaben in der Anzeige ungenau, entstehen sowohl dem Käufer als auch dem Verkäufer unnötige Kosten und Frustrationen.
Käufer sollen durch Virtualisierung von Fahrzeugen mit einem möglichst hohen Gehalt an Informationen das Fahrzeug aus jedem Blickwinkel betrachten und alle technischen Daten und Ausstattungsinformationen erhalten, ohne vor Ort sein zu müssen.
Dies ist auch bei größeren Fahrzeugflotten dank RPA möglich. Es wurde eine aus vielen Microservices bestehende Anwendung entwickelt, die automatisiert Daten, basierend auf einer Fahrzeugidentifikationsnummer (FIN), von verschiedenen Drittanbietern sammelt. Diese Daten wurden im weiteren Prozess analysiert und durch vom Kunden eingerichtete Regeln erkannt und zusammengefasst. Dabei wurden Abgleiche zwischen den verschiedenen Anbietern getätigt und Duplikate entfernt. Am Ende des Prozesses erhielt der Kunde, Verkäufer und Käufer die aufbereiteten Daten zu genau dem vom Verkäufer eingestellten Fahrzeug. Mein Anteil am Projekt war die Entwicklung von mehreren Spring-Boot Microservices in einer Azure Cloud Umgebung, die mit weiteren Anwendungen in .NET, JavaScript und Python Daten austauscht.
Der Kunde muss ein jährliches Audit bestehen. Während der Planung der bereits umgesetzten Software wurde dieses Audit nicht bedacht. Der Kunde griff mit eigens entwickeltem SQL-Query direkt auf die Datenbank zu. Es fehlte eine Berichtsfunktion, die Metriken sammelt und einen Prüfbericht erstellt, die für das Audit verwendet werden kann.
Wir konzipierten und entwickelten ein Report-Feature, das es dem Kunden ermöglichte, einen Auditbericht für die jährliche Prüfung zu erstellen.
In Zusammenarbeit mit dem Kunden haben wir ein Berichtslayout entwickelt und eine Funktion implementiert, die bei der Eingabe von Start- und Endzeiten die benötigten Daten sammelt und sie in zusammengefasster Form in das besprochene Layout in einem PDF-Export übertrug.
Ein Sportverein stellt seinen Mitgliedern eine App zur Verfügung, die sie über die Aktivitäten des Vereins informiert. Die Kommunikation mit anderen Vereinsmitgliedern ist bis dato nicht möglich.
Der Sportverein möchte die mobile App für seine Mitglieder verbessern, damit sie sich organisieren, kommunizieren und den Überblick behalten können. In diesem Zug sollte ein Chat-Modul implementiert werden.
Für die mobile Anwendung wurde ein individuelles Chat Element entwickelt, das Funktionen wie 1-zu-1-Chat, Status Marker zur Anzeige des Status (gesendet, angekommen, gelesen), Gruppenchats, automatische Gruppenteilnahme aufgrund hierarchischer Gruppenzugehörigkeit (Club-Chat, Team-Chat) und Schnittstellen zu anderen Modulen umfasst.
JavaAndroidGitMavenJenkins
Sport
3 Monate
2017-04 - 2017-06
Kontaktloses NFC-Kassensystem
Fullstack-EntwicklerJavaAndroidSpring-Boot...
Fullstack-Entwickler
In einem Gastronomiebetrieb nutzten Kunden ein POS-System, um Bestellungen während ihres Aufenthalts aufzugeben. Die Bezahlung erfolgte über Prepaid-Karten, die zuvor vom Betreiber aufgeladen wurden. Ein Servicemitarbeiter musste die Bestellungen manuell entgegennehmen und verbuchen, indem er die Karte in eine Registrierkasse einführte, was einen erheblichen Zeitaufwand bedeutete.
Um die Arbeit der Service-Mitarbeiter zu optimieren, soll ein Android-Gerät eingesetzt werden. Dieses ermöglicht es, eine zuvor ausgegebene Karte kurz beim Betreten einzulesen und die Bezahlung erst am Ausgang vorzunehmen. Dadurch entfällt für die Service-Mitarbeiter der Kassenvorgang.
Eine Anwendung wurde unter Verwendung von Spring Boot für das Backend und einer Android-App für das Frontend entwickelt. Als Kartensystem wurden Near Field Communication (NFC)-Karten eingesetzt. Das Systemdesign sah vor, dass Daten sowohl auf der Karte als auch in der Serverdatenbank simultan gespeichert werden, um die Funktionalität bei Verbindungsunterbrechungen zu gewährleisten.
Ich bezeichne mich als zielorientiert und ergebnisgetrieben. Während meiner achtjährigen Tätigkeit als Softwareentwickler verfolge ich das primäre Ziel, dem Kunden die bestmögliche Lösung anzubieten, welche seinen spezifischen Anforderungen entspricht. Dies wird durch umfassende Beratung und Unterstützung in der Konzeption, Entwicklung und Implementierung innovativer Softwarelösungen gewährleistet.
Um dieses Ziel zu erreichen, verfüge ich über fundierte Expertise in Java, Spring-Boot, REST-APIs sowie relationalen und nicht-relationalen Datenbanken. Diese Expertise setze ich gezielt ein, um auch komplexe Herausforderungen erfolgreich zu bewältigen und dabei skalierbare sowie wartbare Anwendungen zu liefern.
Selbstständiges Arbeiten sowie engagierte Teamarbeit sind für mich natürliche Bestandteile eines jeden Projekts, ebenso wie ausgeprägte Kommunikationsfähigkeiten.
Kernkompetenzen
Frameworks & Bibliotheken: Spring Boot (Experte),React (Fortgeschritten), Angular, Node.js, Quarkus
Ein veraltetes Bestandssystem einer Genossenschaft präsentierte Mitgliedern auf einer internen Serviceplattform Informationen zu Ladungsträgern und Auktionsergebnissen. Die Benutzeroberfläche dieser historisch gewachsenen Plattform war ausschließlich für Desktop-Auflösungen ausgelegt.
Um den Nutzern ein intuitiveres und verbessertes Nutzungserlebnis gemäß aktuellen UI/UX-Standards zu bieten, sollte dieses System durch eine cloudbasierte Neuentwicklung in Microsoft Azure ersetzt werden, die als Docker-Container im Kubernetes-Cluster betrieben wird. Dabei war eine nahtlose Integration bestehender, datenliefernder Systeme erforderlich. Die neue Plattform sollte zudem auch auf Mobilgeräten nutzbar sein, um den Nutzerbedürfnissen zu entsprechen.
In diesem Projekt lag mein Hauptfokus auf der Backend-Entwicklung. Ich entwickelte mehrere Microservices mit Spring-Boot und war primär für den Entwurf und die Umsetzung der Datenstrukturen sowie der Microservice-Architektur verantwortlich.
Eine Plattform für Finanzdienstleister hatte ineffiziente Kundengewinnungsprozesse aufgrund mangelnder Statustransparenz, Verifizierungsfehlern, Datenübertragungsproblemen und abgebrochenen Verträgen. Ein Kunde forderte die Verlagerung eines Teils einer Cloud-Anwendung aus Datensicherheitsgründen in eine On-Premise-Umgebung, was Herausforderungen bei der sicheren Datenübertragung verursachte. Compliance-Anforderungen erforderten eine neue Anwendungsversion, jedoch nutzten nicht alle Kunden diese zeitnah, was zu inkompatiblen Datenformaten führte, die weiterhin unterstützt werden mussten.
Zur Effizienzsteigerung erweiterte ich die Plattform um Echtzeit-Einblicke in die Kundengewinnung, verbesserte den Datenbereinigungsalgorithmus zur automatischen Löschung blockierter Verträge und entwickelte sichere Synchronisationsverfahren für den Datenaustausch zwischen On-Premise- und Cloud-Systemen. Ein Legacy-Datenimporter ermöglichte die Weiterverarbeitung alter Datenformate.
Zudem wurden neue Funktionen in die bestehende Software integriert, Datenübertragungsprozesse mit Finanzinstituten automatisiert, der Fehler-Rückmelde-Mechanismus per REST-API verbessert und eine Export-Import-Lösung mit SFTP für die Datensynchronisation zwischen On-Premise und Cloud implementiert.
Die Firma GS Elektromedizinische Geräte G. Stemple GmbH ist ein weltweit agierendes Unternehmen, welches sich auf die Entwicklung und Produktion von Medizintechnik spezialisiert hat und diese vertreibt. Eines der Produkte ist die corpuls.mission App, die verschiedene Module für kollaboratives Arbeiten zwischen Rettungskräften vor Ort und Telenotärzten anbietet. Darunter zählen Module wie Einsatz-Chats und Video-Telefonie. Dies erlaubt es Telenotärzten benötigte Maßnahmen anzuordnen, die zeitkritisch für den Patienten sind und somit lebensrettend sein können. Für eine hohe Flexibilität wird die Applikation als Web-App für Desktop-PCs und mobile App für iOS und Android angeboten. Zusätzlich müssen Rettungskräfte ihre Einsätze dokumentieren und alle Befunde sowie Maßnahmen für eine Übergabe erfassen. Bisher geschah dies auf Vordrucken, deren Ausfüllung durch Unübersichtlichkeit und Fehleranfälligkeit erschwert wird. Daher ist ein möglichst intuitives und unterstützendes Tool zur Dokumentation nötig, welches deutlich besser und direkter auf den Einsatz zugeschnitten ist. Um unser Verständnis für die Anforderungen der Rettungskräfte zu verbessern, wurden wir zu einem praktischen Workshop eingeladen. Während dieses Workshops wurde ein Rettungsvorgang vom Eintreffen bis zum Transport in einem echten Rettungswagen mit Hilfe von geschulten Sanitätern simuliert.
Für die Dokumentation wird ein neues Modul corpuls.mission REPORT entwickelt. corpuls entwickelt für dieses Modul eine Web-Applikation, mobile Apps für iOS und Android sowie das dazugehörige Backend. Der Fokus liegt auf einer guten UX (Benutzerfreundlichkeit), insbesondere während eines Rettungseinsatzes. Dabei nutzen wir für medizinisches Personal bekannte Schemata wie FAST und ABCDE und bieten diese so an, dass sie einfach und schnell sowohl am PC als auch auf einem Tablet ausgefüllt werden können.
Unser Team ist für die Entwicklung der Web-App zuständig. Für die Web-Oberfläche wird auf das Angular Framework gesetzt, die Programmierung selbst wird mit TypeScript durchgeführt. Das Backend baut auf einer Spring-Boot-Applikation mit Java auf und bietet REST-Schnittstellen, wie auch Web Sockets für die verschiedenen Clients. Für die Datenbank verwenden wir eine MongoDB. Da die Applikation weltweit im Einsatz ist, implementierten wir einen internationalisierten Hybriden, der jedem Kunden ein hohes Maß an Individualisierbarkeit der Terminologien anbietet.
Um die Kundenbedürfnisse erfolgreich erfüllen zu können, muss ein weltweit tätiges Reiseunternehmen in der Lage sein, Kostenvoranschläge für Hotelzimmer zu erstellen, ohne langwierige manuelle Prozessschritte zur Freigabe von Hotelzimmern durchführen zu müssen.
Wir entwickelten einen High-Performance Cache, der Hotelzimmerdaten basierend auf externen Quellen und internen Business-Kriterien verarbeitet und für die Suche zur Verfügung stellt. Die an diesen Cache übermittelten Abfragen generieren eine große Auswahl an Angeboten, die nach Faktoren wie Verfügbarkeit und Kundenmärkten gefiltert werden können, so dass die Kunden leicht ein passendes Hotelzimmer an ihrem Wunschort finden können.
Um diesen Cache auszuführen, wurde eine Reihe von Microservices mit Spring Boot erstellt und in einem AWS Kubernetes-Cluster verwaltet. Zusätzlich wurden Lambda-Funktionen erstellt, um eingehende SQS- und SNS-Streams im Unternehmen zu verarbeiten und sie zur weiteren Verarbeitung an den zentralen Kafka-Message-Bus weiterzuleiten. Die abschließende Anordnung der Daten in einer DynamoDB stellt den Datensatz für die Suchanfragen bereit.
Vor Jahren beauftragte ein Landwirtschaftsamt einen Dienst, der mit Hilfe von Geodaten und Satellitenbildern die in den Anträgen der Landwirte genannten Merkmale einer landwirtschaftlichen Fläche überprüfen sollte. Dazu war ein gemeinsamer Datenspeicher erforderlich, über den das Amt und der Dienst in regelmäßigen Abständen Daten austauschten. Leider war diese Methode des Datenaustauschs recht zeitaufwändig.
Es ist notwendig, eine direkte Verbindung herzustellen, um die Dauer der Auftragsbearbeitung drastisch zu verkürzen. Dazu sollte eine Schnittstelle geschaffen werden.
In frühen Gesprächen wurden bereits die Spezifikationen der neuen Schnittstellen festgelegt und man kam zu dem Schluss, dass REST für die Datenübertragung und Statusaktualisierung verwendet werden sollte. Da der Dienst die Schnittstellen noch nicht bereitstellen konnte, wurde ein Microservice implementiert, um die festgelegten Schnittstellen zu replizieren und die Entwicklungs- und Testprozesse vorübergehend zu unterstützen.
Ein Amt bot ein Formular für Zuschussanträge an, das digital ausgefüllt, aber per Postversand eines Datenträgers mit dem ausgefüllten Formular oder per Ausdruck per Post eingereicht wurde.
Um die Einreichung von Formularen effizienter zu gestalten, sollte die Einreichung, Prüfung und Genehmigung von Anträgen über eine moderne Webschnittstelle erfolgen, die sowohl für die Antragsteller als auch für die Bearbeiter der öffentlichen Dienste zugänglich ist.
Als Lösung wurde eine mehrstufige Web-Formular-Plattform entwickelt, die RPA zur teilweisen Automatisierung des Genehmigungsprozesses und zur Zugriffsverwaltung einsetzt, um den Zugang für bestimmte Personen je nach Prozessschritt zu ermöglichen.
Ein weltweit tätiges Unternehmen in der Tourismus-, Freizeit- und Schifffahrtsbranche bietet eine Schnittstelle zwischen Hotelbetreibern und Reisebüros, indem es eine große Datenbank mit Zimmerstatus unterhält, die Reisebüros täglich abrufen können. Die Pflege dieser Datenbank erfolgte bisher manuell.
Es wurde ein automatisierter Ansatz benötigt, um eine große Anzahl von Hotelzimmern durch einen regelbasierten Genehmigungsprozess zu schicken und sie dann dem Endkunden über verschiedene Vertriebskanäle anzubieten.
Unter ständigem Austausch mit anderen Teams wurde eine Anwendung entworfen und entwickelt, welche für die Definition, Verwaltung und Konfiguration der Regeln zuständig ist. Die Anwendung wurde in Angular 8 und Spring Boot entwickelt.
Beim Kauf oder Verkauf von Gebrauchtwagen muss der Käufer das Fahrzeug persönlich in Augenschein nehmen. Werden Mängel entdeckt, die der Verkäufer selbst nicht bemerkt hat, oder sind die Angaben in der Anzeige ungenau, entstehen sowohl dem Käufer als auch dem Verkäufer unnötige Kosten und Frustrationen.
Käufer sollen durch Virtualisierung von Fahrzeugen mit einem möglichst hohen Gehalt an Informationen das Fahrzeug aus jedem Blickwinkel betrachten und alle technischen Daten und Ausstattungsinformationen erhalten, ohne vor Ort sein zu müssen.
Dies ist auch bei größeren Fahrzeugflotten dank RPA möglich. Es wurde eine aus vielen Microservices bestehende Anwendung entwickelt, die automatisiert Daten, basierend auf einer Fahrzeugidentifikationsnummer (FIN), von verschiedenen Drittanbietern sammelt. Diese Daten wurden im weiteren Prozess analysiert und durch vom Kunden eingerichtete Regeln erkannt und zusammengefasst. Dabei wurden Abgleiche zwischen den verschiedenen Anbietern getätigt und Duplikate entfernt. Am Ende des Prozesses erhielt der Kunde, Verkäufer und Käufer die aufbereiteten Daten zu genau dem vom Verkäufer eingestellten Fahrzeug. Mein Anteil am Projekt war die Entwicklung von mehreren Spring-Boot Microservices in einer Azure Cloud Umgebung, die mit weiteren Anwendungen in .NET, JavaScript und Python Daten austauscht.
Der Kunde muss ein jährliches Audit bestehen. Während der Planung der bereits umgesetzten Software wurde dieses Audit nicht bedacht. Der Kunde griff mit eigens entwickeltem SQL-Query direkt auf die Datenbank zu. Es fehlte eine Berichtsfunktion, die Metriken sammelt und einen Prüfbericht erstellt, die für das Audit verwendet werden kann.
Wir konzipierten und entwickelten ein Report-Feature, das es dem Kunden ermöglichte, einen Auditbericht für die jährliche Prüfung zu erstellen.
In Zusammenarbeit mit dem Kunden haben wir ein Berichtslayout entwickelt und eine Funktion implementiert, die bei der Eingabe von Start- und Endzeiten die benötigten Daten sammelt und sie in zusammengefasster Form in das besprochene Layout in einem PDF-Export übertrug.
Ein Sportverein stellt seinen Mitgliedern eine App zur Verfügung, die sie über die Aktivitäten des Vereins informiert. Die Kommunikation mit anderen Vereinsmitgliedern ist bis dato nicht möglich.
Der Sportverein möchte die mobile App für seine Mitglieder verbessern, damit sie sich organisieren, kommunizieren und den Überblick behalten können. In diesem Zug sollte ein Chat-Modul implementiert werden.
Für die mobile Anwendung wurde ein individuelles Chat Element entwickelt, das Funktionen wie 1-zu-1-Chat, Status Marker zur Anzeige des Status (gesendet, angekommen, gelesen), Gruppenchats, automatische Gruppenteilnahme aufgrund hierarchischer Gruppenzugehörigkeit (Club-Chat, Team-Chat) und Schnittstellen zu anderen Modulen umfasst.
JavaAndroidGitMavenJenkins
Sport
3 Monate
2017-04 - 2017-06
Kontaktloses NFC-Kassensystem
Fullstack-EntwicklerJavaAndroidSpring-Boot...
Fullstack-Entwickler
In einem Gastronomiebetrieb nutzten Kunden ein POS-System, um Bestellungen während ihres Aufenthalts aufzugeben. Die Bezahlung erfolgte über Prepaid-Karten, die zuvor vom Betreiber aufgeladen wurden. Ein Servicemitarbeiter musste die Bestellungen manuell entgegennehmen und verbuchen, indem er die Karte in eine Registrierkasse einführte, was einen erheblichen Zeitaufwand bedeutete.
Um die Arbeit der Service-Mitarbeiter zu optimieren, soll ein Android-Gerät eingesetzt werden. Dieses ermöglicht es, eine zuvor ausgegebene Karte kurz beim Betreten einzulesen und die Bezahlung erst am Ausgang vorzunehmen. Dadurch entfällt für die Service-Mitarbeiter der Kassenvorgang.
Eine Anwendung wurde unter Verwendung von Spring Boot für das Backend und einer Android-App für das Frontend entwickelt. Als Kartensystem wurden Near Field Communication (NFC)-Karten eingesetzt. Das Systemdesign sah vor, dass Daten sowohl auf der Karte als auch in der Serverdatenbank simultan gespeichert werden, um die Funktionalität bei Verbindungsunterbrechungen zu gewährleisten.
Ich bezeichne mich als zielorientiert und ergebnisgetrieben. Während meiner achtjährigen Tätigkeit als Softwareentwickler verfolge ich das primäre Ziel, dem Kunden die bestmögliche Lösung anzubieten, welche seinen spezifischen Anforderungen entspricht. Dies wird durch umfassende Beratung und Unterstützung in der Konzeption, Entwicklung und Implementierung innovativer Softwarelösungen gewährleistet.
Um dieses Ziel zu erreichen, verfüge ich über fundierte Expertise in Java, Spring-Boot, REST-APIs sowie relationalen und nicht-relationalen Datenbanken. Diese Expertise setze ich gezielt ein, um auch komplexe Herausforderungen erfolgreich zu bewältigen und dabei skalierbare sowie wartbare Anwendungen zu liefern.
Selbstständiges Arbeiten sowie engagierte Teamarbeit sind für mich natürliche Bestandteile eines jeden Projekts, ebenso wie ausgeprägte Kommunikationsfähigkeiten.
Kernkompetenzen
Frameworks & Bibliotheken: Spring Boot (Experte),React (Fortgeschritten), Angular, Node.js, Quarkus