Ausgewählte Projekte
Marketplace & Invoicing
Ticket-basiertes Solo-Software-Development für ein Rechnungsprojekte. Dort arbeitete ich eigenständig an der Umsetzung von Features und der Behebung von Fehlern, basierend auf einem ticketbasierten System. Der Fokus lag dabei auf der Backend-Entwicklung unter Verwendung des Spring Boot Frameworks in Java. Maven diente zur Verwaltung von Abhängigkeiten und zum Build-Management der Anwendungen.
Im Rahmen des Marketplace-Projekts war ich für die Implementierung von automatisierten Tests verantwortlich. Hierbei kam das Cypress-Framework zum Einsatz, um effiziente und zuverlässige End-to-End-Tests zu erstellen, die die Qualität der Software sicherstellen und Regressionen frühzeitig erkennen.
Ein weiterer wesentlicher Bestandteil des Projekts war die Migration von Repositorys vom Versionskontrollsystem GitLab zu GitHub. Diese Migration betraf sowohl die Rechnungsprojekte als auch das Marketplace-Projekt. Die Migration wurde sorgfältig geplant und ausgeführt, um die bestehende Code-Historie, Pull-Requests und Pipeline-Konfigurationen zu erhalten und in die neue GitHub-Umgebung (Mittels Github Actions) zu integrieren.
Eingesetzte Technologien: Spring boot, Java, Maven, HTML, Cypress, JavaScript, CSS, GoLang, CI/CD, GitLab, GitHub, Pipelining, Github Actions, Cucumber.
Modellierung von Roboterbewegungen in der Mensch-Roboter-Kollaboration
Das Projekt umfasste die Implementierung des A*-Algorithmus und des MDP-Frameworks in eine Simulationsumgebung für Roboter, wobei die beiden Methoden anschließend miteinander verglichen wurden. Der A*-Algorithmus, der auf graphenbasierter Suche basiert, ermöglicht die Berechnung des kürzesten Weges zu einem Zielknoten unter Berücksichtigung von Hindernissen. MDP (Markov-Decision-Processes) optimiert die Bewegungen des Roboters in dynamischen Umgebungen unter Unsicherheiten, indem probabilistische Zustandsübergänge und Belohnungsfunktionen genutzt werden.
Ziel dieses Projekts ist es, ein intelligentes System zur Bewegungsgenerierung für Roboter zu entwickeln, das effiziente, sichere und vorhersehbare Trajektorien in dynamischen Umgebungen ermöglicht.
Die für dieses Projekt verwendete Programmiersprache war Python. Python wurde sowohl für die Implementierung des A*-Algorithmus als auch des MDP-Frameworks verwendet. Darüber hinaus wurde Python auch für die Simulationsumgebung ROS (Robot Operating System) genutzt, die eine Plattform für die Entwicklung und Simulation von Roboterbewegungen bietet.
Eingesetzte Technologien: Python, ROS
Entwicklung eines B2B-Vertriebsprozesses für die Energiebranche
Der Kunde stellt von einer SAP-basierten Lösung auf Salesforce um. Im Bereich Geschäftskundenvertrieb werden verschiedene Produkte mit unterschiedlichen Preismodellen eingesetzt. Im aktuellen MVP konzentrieren wir uns darauf, für eines dieser Produkte einen durchgängigen Prozess bis hin zur Vertragserstellung zu entwickeln. Entscheidend hierbei ist die Integration verschiedener beteiligten Systeme: Salesforce, Kisters BelVis+, SAP sowie einem MuleSoft-System, das für die Steuerung der Systemkommunikation zuständig ist. Zu meinen Aufgabe gehörte, die Unterstützung des Lead Developers bei der Programmierung, den Code-Reviews sowie der Bearbeitung der Prozessschritte auf technischer Ebene
Eingesetzte Technologien: APEX, Salesforce CRM, SOQL, SOSL, Visualforce, Salesforce Flow, Salesforce Process Builder, REST- und SOAP-APIs, Salesforce Lightning, Lightning Web Components (LWC), HTML/CSS, JSON, JavaScript
Erfassung von 3D-Menschlichen Bewegungen mit der XBOX Kinect One via. PyKinect2
In diesem Projekt ging es darum, die Bewegung eines roten Würfels von einem Menschen zu erfassen, der eine Roboterbewegung imitierte. Der Mensch wurde gebeten, den Würfel von Punkt A nach Punkt B zu bewegen, während seine Bewegung mit der Xbox Kinect One aufgezeichnet wurde. Hierfür kam die Python-Bibliothek PyKinect2 zum Einsatz, die die Kinect-Sensordaten verarbeitete und eine präzise Erfassung der Bewegungen in einem dreidimensionalen Raum ermöglichte.
Um den roten Würfel während der Bewegung genau zu verfolgen, wurde OpenCV verwendet, eine Bibliothek zur Bildverarbeitung. Mittels Farbseparation wurde die spezifische rote Farbe des Würfels isoliert, sodass der Würfel in Echtzeit kontinuierlich getrackt werden konnte.
Die von der Kinect erfassten Bewegungen wurden in x-, y- und z-Koordinaten umgewandelt, die die Position des Würfels im Raum zu jedem Zeitpunkt beschrieben. Diese Daten wurden in regelmäßigen Abständen während der gesamten Bewegung erfasst und in CSV-Dateien gespeichert. Jede Zeile einer solchen Datei enthielt die Position des Würfels in Form von Koordinaten und ermöglichte so eine detaillierte Rekonstruktion der Bewegung.
Eingesetzte Technologien: Python, OpenCV, PyKinect2
AuditTrail Batch-Job
Der Kunde stand vor der Herausforderung, sicherheitsrelevante Aktivitäten in Salesforce effizient zu überwachen, um die Einhaltung von Compliance-Vorgaben und Berechtigungsrichtlinien sicherzustellen. Sensible Aktionen können im Setup-Audit-Trail identifiziert werden, um potenziell unautorisierte oder kritische Änderungen im System frühzeitig zu erkennen und entsprechende Maßnahmen zu ergreifen. Allerdings erfasst der Setup-Audit-Trail jede im System ausgeführte Aktion und generiert dadurch täglich eine enorme Datenmenge.
In diesem Projekt wurde ein Batch-Job Salesforce-Lösung entwickelt, um sicherzustellen, dass sensible Aktionen im Setup-Audit-Trail gezielt überwacht werden. Die Implementierung ermöglicht es, spezifische Benutzeraktionen innerhalb eines festgelegten Zeitraums zu identifizieren und basierend auf verschiedenen Sensitivitätsstufen zu analysieren. Der Batch-Job umfasst leistungsstarke Filterfunktionen, die es ermöglichen, die große Datenmenge des Audit-Trail-Objekts gezielt zu durchsuchen. Diese Filterung kann auf bestimmte Benutzer, Aktionen oder betroffene Komponenten zugeschnitten werden, um nur relevante Daten zu verarbeiten. Dabei wird überprüft, ob diese Aktionen von autorisierten oder nicht autorisierten Benutzern durchgeführt wurden.
Meine Rolle bestand in der Implementierung und Aufsetzung des gesamten Batch-Jobs sowie der Anpassung an die spezifischen Kundenanforderungen.
Eingesetzte Technologien: APEX, Salesforce CRM, SOQL, SOSL, Batch-Job
CRM Analytics Cross-Org Integration
Der Kunde wollte Daten aus verschiedenen Salesforce-Organisationen in das CRM Analytics der zentralen Organisation übertragen, um eine konsolidierte und zentrale Übersicht über alle geschäfts- und sicherheitsrelevanten Informationen zu erhalten. Da eine direkte Synchronisierung der Datenobjekte zwischen den Organisationen nicht möglich war, wurde eine alternative Lösung entwickelt, bei der die Daten mithilfe von Salesforce Connect und externen Objekten in Custom Objects der zentralen Organisation importiert wurden.
Im Rahmen des Projekts wurden die relevanten Daten aus den externen Salesforce-Organisationen zunächst über Salesforce Connect (Cross-Org Adapter) verbunden. Dadurch konnten externe Objekte in der zentralen Organisation zugänglich gemacht werden. Diese externen Objekte wurden dann mithilfe von Apex-Batch-Jobs in speziell dafür vorgesehene Custom Objects in der zentralen Organisation übertragen, um eine dauerhafte Speicherung und Weiterverarbeitung zu ermöglichen.
Die Custom Objects wurden anschließend mit CRM Analytics verbunden, um die übertragenen Daten für Analysen und Berichte nutzbar zu machen. In CRM Analytics wurden daraufhin Dashboards und Reports erstellt, die dem Kunden eine zentrale Übersicht über alle Aktivitäten und sicherheitsrelevanten Ereignisse boten.
Meine Rolle umfasste die Konfiguration der Verbindung zwischen den Salesforce-Organisationen über Salesforce Connect, die Implementierung der Datenübertragung durch die Entwicklung der Apex-Batch-Jobs, das Einrichten der Custom Objects sowie die Konfiguration und Integration der Custom Objects in CRM Analytics. Diese Lösung half dem Kunden, alle relevanten Daten aus den verschiedenen Organisationen zentralisiert zu analysieren und Compliance- sowie Geschäftsanforderungen effizient zu erfüllen.
Eingesetzte Technologien: Salesforce Connect (Cross-Org), Apex, SOQL, CRM Analytics, Dataflows und CRM Analytics Recipes
Salesforce Automate Scan
Der Kunde benötigt eine mobile Lösung, um Vertriebsmitarbeiter bei der Datenerfassung von Befragungen vor Ort optimal zu unterstützen. Um die Nutzung von Desktop-Geräten zu vermeiden und eine zentrale Verteilung der Salesforce iOS- oder Android-App zu umgehen, wird eine Progressive Web App entwickelt, die über moderne Webbrowser zugänglich ist. Salesforce Experience Cloud stellt hierfür die ideale Basis dar, da der Kunde schon.
Im Rahmen des MVP konzentrieren wir uns auf die Entwicklung einer benutzerfreundlichen Anwendung mithilfe von Experience Builder, Lightning Web Components (LWC) und Salesforce Flows, um Prozesse zu automatisieren und eine intuitive Nutzererfahrung zu gewährleisten. Meine Aufgaben umfassen die Entwicklung von LWCs, die Implementierung von Salesforce Flows, die Erstellung und Anpassung von Seiten im Experience Builder sowie die Unterstützung des Lead Developers bei Code-Reviews und der Bearbeitung technischer Prozessschritte.
Eingesetzte Technologien: Salesforce, Experience Cloud, Experience Builder, Lightning Web Component, APEX, BitBucket, Screen-Flow
Ablösung des Altsystems zur Verwaltung der Mitarbeiterstammdaten
Das Projektziel bestand darin, ein Konzept und einen Plan zur Ablösung des vom Kunden selbst entwickelten Altsystems für die Verwaltung der Mitarbeiterstammdaten zu erstellen. Da dieses Altsystem ersetzt werden sollte, SAP SuccessFactors jedoch noch nicht in allen Gesellschaften implementiert war und dies auch nicht für alle vorgesehen war, musste eine alternative Lösung zur Pflege der HR-Stammdaten gefunden werden. Dabei war es wichtig, die zahlreichen Schnittstellen des Altsystems zu anderen Systemen, die auf diese Daten zugreifen, zu berücksichtigen. Zu meinen Aufgaben gehörten die Unterstützung bei der detaillierten Erfassung der Anforderungen und der Erstellung von Arbeitspaketen sowie die enge Zusammenarbeit mit den verschiedenen Fachbereichen, die als Stakeholder des Projekts fungierten.
Eingesetzte Technologien: PMO, Anforderungsmanagement, User Stories
Operatives Releasemanagement
In meiner Rolle als Begleiter des Projektleiters unterstützte ich bei der Koordination zwischen Kunden und Team, half bei der Aufgabenverteilung und stellte mit dem Projektleiter sicher, dass das ORM die Projektdurchführung erfolgreich umsetzte. Das ORM fungierte als direkter Ansprechpartner für das Zentrale Release Management (ZRM) und war verantwortlich für die sorgfältige Planung und Durchführung von Releases in enger Zusammenarbeit mit verschiedenen Teams und Abteilungen. Zu meinen Aufgaben gehörte es, die Abstimmung der Entwicklungsaufträge zu begleiten sowie die Unterstützung bei der Umsetzung der definierten Release-Standards und -Verfahren des ZRM zu überwachen.
Eingesetzte Technologien: PMO, Anforderungsmanagement, User Stories
Dynamische PDF-Generierung mit jsPDF in Salesforce
Für die Umsetzung eines dynamischen PDF-Dokuments in Salesforce wurde ein Proof of Concept (PoC) durchgeführt, um die technische Machbarkeit der Integration von Unicode-Sonderzeichen, dynamischen Tabellen und skalierbaren Bildern mit jsPDF zu evaluieren. Ziel war es, ein flexibles Dokument zu erstellen, das sich dynamisch an verschiedene Inhalte anpasst. Dabei wurden insbesondere die Darstellung slawischer Zeichen mit unterschiedlichen Formatierungen, die Integration variabler Tabellenstrukturen sowie die Einbindung von Bildern aus ContentVersion getestet.
Meine Aufgaben umfassten die technische Konzeption, die Einrichtung und Implementierung von jsPDF als statische Ressource in Salesforce sowie die Entwicklung und Optimierung der dynamischen Dokumentengenerierung. Zudem wurde ein LWC-Prototyp erstellt, um die automatisierte PDF-Erstellung zu validieren. Abschließend erfolgte die Finalisierung und Präsentation eines statischen Layouts auf Basis einer bestehenden Vorlage.
Eingesetzte Technologien: jsPDF, VS Code, Salesforce, BitBucket, Apex
Salesforce Datenqualitäts-Monitoring durch personalisierten, automatisierten Reportversand
Ziel des Projekts war es, die Datenqualität in Salesforce nachhaltig zu sichern, indem Mitarbeitende regelmäßig an zu pflegende Datensätze erinnert werden.
Da vorhandene Dashboards mit offenen Aufgaben kaum genutzt wurden, wurde eine automatisierte Lösung entwickelt, die regelmäßig relevante Reports auswertet und personalisierte E-Mails an die verantwortlichen Mitarbeitenden sowie deren Vorgesetzte versendet. Die Erinnerungen enthalten nur für die jeweilige Person relevante Datensätze und sollen sicherstellen, dass wichtige Informationen zeitnah gepflegt und aktuell gehalten werden.
Die Lösung wurde überwiegend mit Apex umgesetzt und nutzt Custom Metadata für eine flexible Konfiguration, wodurch sie einfach an neue Anforderungen angepasst werden kann.
Meine Rolle umfasste die fachliche Konzeption sowie die vollständige technische Umsetzung der Lösung. Dazu gehörten die Anforderungsanalyse, das Design der Architektur, die Implementierung der Logik sowie die Testabdeckung.
Eingesetzte Technologien: Sales Cloud, Salesforce Flows, User Stories, Apex Trigger, Apex Controller, Apex BatchJob, Anforderungsmanagement (Requirements Engineering), VSCode, UML, Office, LWC, Aura Components
Weiterentwicklung und Instanthaltung
Im Rahmen des Projekts wird das Salesforce-System kontinuierlich weiterentwickelt und optimiert.
Zentrale Bestandteile sind die Integration externer Systeme, die strukturierte Abbildung und Visualisierung von Geschäftsprozessen sowie die Automatisierung zur Effizienzsteigerung. Dabei kommen auch Agentforce zur Optimierung von Serviceprozessen sowie Einstein Services zur intelligenten Datenanalyse und Entscheidungsunterstützung zum Einsatz. Dashboards und Berichte unterstützen zusätzlich bei der Ergebnisauswertung und Zielverfolgung.
Eingesetzte Technologien: Sales Cloud, SQL, Salesforce Flows, Einstein, Agentforce, Apex, Quip, Workbench, Rest API, AWS AppFlow, AWS S3, AWS Lambda, AWS Glue, AWS Cloudwatch, AWS Budget, Approval Process, Reports & Dashboards
SAML SSO
Ziel des Projekts war es, den Zugriff auf Salesforce für Mitarbeitende zu vereinfachen und gleichzeitig die Sicherheit zu erhöhen, indem ein SAML-basiertes Single Sign-On (SSO) implementiert wurde.
Hierbei sollte sowohl die bestehende Salesforce Sandbox als auch die produktive Org in die zentrale Unternehmens-Identity-Provider-Lösung integriert werden.
Die Umsetzung umfasste die Konfiguration der SAML-Einstellungen in Salesforce, die Einrichtung der Vertrauensstellung zwischen Salesforce und dem Identity Provider sowie die Anpassung der Benutzerverwaltung, um Rollen- und Profilzuweisungen weiterhin reibungslos zu gewährleisten. Die Implementierung wurde zunächst in der Sandbox getestet, um die Kompatibilität mit bestehenden Prozessen sicherzustellen, und anschließend in der Produktionsumgebung ausgerollt.
Meine Rolle umfasste die technische Konzeption und Implementierung der Lösung. Dazu gehörten die Abstimmung mit dem Identity-Management-Team, die Konfiguration von Salesforce und des Identity Providers, die Durchführung von End-to-End-Tests, die Erstellung von Benutzerdokumentationen sowie die Begleitung des Rollouts in die Produktivumgebung.
Eingesetzte Technologien: Salesforce Cloud, SAML, Requirements Engineering, User Stories, Identity Provider
Automatische Leaderstellung aus Kolsquare
Ziel des Projekts war die Automatisierung der Lead-Erfassung aus der Influencer-Marketing-Plattform Kolsquare in Salesforce, um manuelle Dateneingaben zu vermeiden und eine Bulk Lead-Erstellung zu ermöglichen.
Die Lösung ruft mithilfe von Salesforce HTTP Callouts relevante Daten direkt aus Kolsquare ab, verarbeitet sie in Apex und erstellt automatisch neue Leads. Für die Verarbeitung großer Datenmengen kamen Apex Batch Jobs zum Einsatz, die in separate einzelne Batch Jobs aufgeteilt wurden. Zusätzlich wurde ein Concurrency-Handling implementiert, um Callout-Limits einzuhalten und eine stabile, fehlerfreie Ausführung zu gewährleisten. Ein Screen Flow ergänzt den Prozess für eine benutzerfreundliche Interaktion, über die Sales Reps die Lead-Erstellung einfach starten können. Nach Abschluss des Prozesses erhält der jeweilige Benutzer eine automatische E-Mail-Benachrichtigung über den erfolgreichen Abschluss der Lead-Erstellung.
Meine Rolle umfasste die technische Konzeption, die Implementierung der Apex-Logik, Batch Jobs und HTTP Callouts, die Erstellung des Screen Flows, die Absicherung der Schnittstelle, die Implementierung des Concurrency-Handlings, das Testen des End-to-End-Prozesses sowie die Dokumentation.
Eingesetzte Technologien: Sales Cloud, Apex, Apex Batch Jobs, Apex Scheduler, Salesforce HTTP Callouts, Screen Flow, Requirements Engineering, VS Code, Developer Console
AWS Integration
Ziel des Projekts war die Einrichtung einer skalierbaren Datenpipeline, um den automatisierten Austausch zwischen Salesforce und AWS zu ermöglichen und so eine zentrale, konsistente Datenbasis für Analyse- und Geschäftsprozesse bereitzustellen.
Der Datenstream wurde in zwei abgestimmten Prozessen realisiert: Zunächst extrahiert AWS Lambda relevante Daten aus Salesforce, verarbeitet sie und speichert sie in einem strukturierten Format in Amazon S3. Anschließend übernimmt AWS Glue die Transformation der in S3 abgelegten Daten und lädt sie wieder zurück nach Salesforce, sodass Geschäftsprozesse mit aktuellen und angereicherten Informationen versorgt werden. Durch diese Architektur entstand ein stabiler, wiederverwendbarer und erweiterbarer Datenstream.
Meine Rolle umfasste die Konzeption des End-to-End-Datenflusses, die Implementierung der Lambda-Funktionen und Glue Jobs, die Absicherung der Schnittstellen (OAuth, API-Konfiguration), die Prozessorchestrierung, Testdurchführung sowie die Projektdokumentation.
Eingesetzte Technologien: Sales Cloud, AWS Lambda, AWS S3, AWS Glue, Apache Spark, Salesforce REST API, Salesforce Bulk API, OAuth 2.0, Python, VSCode, Requirements Engineering
Hyperforce Migration
Ziel des Projekts war die erfolgreiche Migration der bestehenden Salesforce-Umgebung auf die Hyperforce-Infrastruktur, um von erhöhter Performance, verbesserter Skalierbarkeit und den erweiterten Compliance-Standards zu profitieren.
Vor dem Go-Live wurden umfassende Pre-Migration-Tests durchgeführt, um Integrationen, Custom Code und Systemkonfigurationen abzusichern. Nach der Migration bestätigten detaillierte Post-Migration-Validierungen eine nahtlose Übergabe ohne Beeinträchtigungen laufender Geschäftsprozesse.
Meine Rolle umfasste die technische Planung, die Koordination der Testaktivitäten, die Durchführung der Systemvalidierungen, die Abstimmung mit den Salesforce- und Infrastruktur-Teams sowie die Dokumentation der Ergebnisse.
Eingesetzte Technologien: Sales Cloud, Salesforce Hyperforce, Requirements Engineering, Apex, Salesforce REST API
Automatische Erstellung von Custom-Object-Datensätzen aus Kolsquare
Ziel des Projekts war die Automatisierung der Datensatz-Erstellung in einem Salesforce-Custom-Object auf Basis von Informationen aus der Influencer-Marketing-Plattform Kolsquare. Der Prozess wurde so konzipiert, dass nach der Anlage eines übergeordneten Leads oder Accounts in Salesforce automatisch die zugehörigen Custom-Object-Datensätze generiert werden.
Hierfür ruft Salesforce mithilfe von HTTP Callouts relevante Daten direkt aus Kolsquare ab, verarbeitet diese in Apex und erstellt die entsprechenden Custom-Object-Datensätze. Für die Verarbeitung großer Datenmengen kamen Apex Batch Jobs zum Einsatz, die in einzelne Batches aufgeteilt wurden. Zusätzlich wurde ein Concurrency-Handling implementiert, um Callout-Limits einzuhalten und eine stabile, fehlerfreie Ausführung sicherzustellen.
Meine Rolle umfasste die technische Konzeption, die Implementierung der Apex-Logik, Batch Jobs und HTTP Callouts, die Einrichtung des Screen Flows, die Implementierung des Concurrency-Handlings, die Testdurchführung sowie die Projektdokumentation.
Eingesetzte Technologien: Sales Cloud, Apex, Apex Batch Jobs, Apex Scheduler, Salesforce HTTP Callouts, Screen Flow, Requirements Engineering, VS Code, Developer Console