Schlagwörter
MySQL
Geodatenmanagement
NodeJS
ElasticSearch
ERM
Microservices
Redis
Design
Mongo DB
Elastic Search
Clusterserver
SASS/LESS
microservice
API
GEO Informationssysteme
Hapi.js
Javascript
CRM
Java
HTML5
CMS Entwicklung
Photoshop
Node.js
SASS
UI
LESS
UI Design
Express.js
OrientDB
JIRA
Message Broker
MQTT/CoaP
Agile Projektmethoden
Scrum
Typescript
TypeScrypt
Full Stack Developer
Webentwicklung
GraphQL
Big Data
BigData
React.js
AngularJS
Java Script Angular framework
Bootstrap
jQuery
HTML5/CSS3
git
Continious Development
Agile Methoden
CQRS
Event Sourcing
Event driven design
Event Handling
REST/JSON
REST
REST Architektur
REST-API
Rest-Services
Backend
Backend-Entwiclung
Backend Entwickler
Full-Stack JavaScript
RabbitMQ / Messaging
RabbbitMQ
Rabbit MQ
RabbitQM
Message Queue Systems
Message Queueing
Messagebroker
Message Queues
Skills
Schwerpunkt CMS/CRM Systeme, Geolocation und API Anbindungen
Node.js, NoSQL, PHP, Photoshop, Adobe Photoshop Lightroom, elasticsearch, MongoDB, Linux, UI Design, UX/UI Design, Webdesign, Webentwicklung, MySQL, Ajax
Node.js, NoSQL, PHP, Photoshop, Adobe Photoshop Lightroom, elasticsearch, MongoDB, Linux, UI Design, UX/UI Design, Webdesign, Webentwicklung, MySQL, Ajax
Projekthistorie
autoticket - PKW Maut Deutschland
Mai 2019 - Juni 2019
Implementierung von Microservices in Typescript in einer Cloud basierenden Infrastruktur zur Generierung von verschiedenen Dokumenten und Ausgabeformaten.
Hierbei wurde RabbitMQ zur Kommunikation zwischen einzelnen Microservices genutzt und MSSql als Datenspeicher.
Die Herausforderung hierbei lag insbesondere in der Notwendigkeit Millionen von Dokumentaufträgen zu Handhaben bei begrenzten Ressourcen.
Aufträge zur Dokumenterzeugung wurden gebündelt und an einen externen Service via Rest-API übertragen. Der externe Service wiederum konnte nur eine begrenzte Anzahl von Aufträgen gleichzeitig verarbeiten und deren Abarbeitung war sehr zeitintensiv, sodass hier entsprechende Warteschleifen-Mechanismen nötig wurden, welche auch über mehrere Service-Instanzen (parallele Verarbeitung) zuverlässig funktionieren.
Weiterhin mussten generierte Dokumente entsprechend weiterverarbeitet werden und an diverse weitere externe Dienste geliefert werden.
Das Projekt musste leider Aufgrund des EuGH Urteils zur deutschen PKW Maut vorzeitig durch den Auftraggeber beendet werden.
Umsetzung:
node.js, typescript, express.js, jest, rabbitmq, MSSql, Docker, Rest-API, Kubernetes, Sonarqube, Git, Jira
Eventstore Client - Open Source Projekt
April 2019
Durch die Erfahrungen in vorangegangen Projekten bei der Node.js Anbindung an den Eventstore (eventstore.org) entstand die Idee eine eigene Client-Library zu erstellen, die den modernen Bedürfnissen entspricht.
Ein besonderes Augenmerk wurde hier auf Test Driven Development, Clean Code und Dokumentation gelegt.
Hierdurch ist es den Nutzern möglich, selbst einfach zu verstehenden Quellcode in eigenen Anwendungen zu erstellen. Dazu tragen nicht nur die Verwendung und Bereitstellung von async/await Funktionen bei, sondern auch die Benennung von Methoden und (Alias-)Funktionen.
Die Umsetzung erfolgte in Typescript um zum einen die Vorteile von Typisierung nutzen zu können und zum Anderen um eine einfache Nutzung sowohl in plain Javascript als auch Typescript zu gewährleisten.
Um den Prozess möglichst weit zu automatisieren, wurde eine CI/CD-Pipeline aufgebaut, welche automatisch Tests in entsprechenden Docker Umgebungen laufen lässt, Code-Coverage erstellt und an Drittanbieter sendet und bei Bedarf die Client-Library erstellt und an das NPM Repository überträgt.
Der Quellcode und die Dokumentation ist frei verfügbar unter:
https://github.com/sebastianwessel/eventstore-ts-client
Umsetzung:
Typescript/node.js, mocha, Protobuf, eventstore, Docker, git, Sonarqube, Codecov
YUNAR App - Ambidexter by Deutsche Bank (FinTech/Loyalty)
April 2018 - März 2019
Umsetzung der zentralen Funktionen des Gesamtsystems von der Konzeption über die Implementierung bis hin zum automatisierten Testen.
Für die Backend-Entwicklung wurden Node.js basierende microservices innerhalb einer auf Microsoft Azure basierenden Cloud Infrastruktur umgesetzt. Hiebei spielten insbesondere folgende Dinge eine herausstechende Rolle:
Die Anbindung an externe Loyalty Anbieter via API und Web-Scraping zum Datenaustausch und die die Bereitstellung von Daten via REST-API für mobile Clients.
Weiterhin basiert die komplette Architektur auf CQRS/Event-Driven-Design und es wurde als Datenspeicher keine klassische Datenbank, sondern Eventstore genutzt.
Da es sich bei diesem Projekt um ein Projekt innerhalb der Finanzbranche und um sensitive Nutzerdaten handelt, wurde entsprechend den Themen Security, Audit, Testing etc. ein überdurchschnittlich hoher Stellenwert gegeben.
Bei diesem Projekt wurde der komplette Prozess von der Grundidee bis hin zum öffentlich verfügbaren Produkt mit begleitet und mit gestaltet.
Toll Collect Maut Terminals - Firma Krauth technology
Mai 2017- März 2018
Erstellung einer Software zum Testen von Maut-Terminals, welche für Toll Collect durch die Firma Krauth technology gebaut werden.
Hierbei geht es im Speziellen um die Kommunikation einzelner Komponenten innerhalb des Terminals (Drucker, Bildschirm, Karten-Bezahlsystem etc.) via Dbus und um die Kommunikation zum Backend (Toll Collect) via SNMP eine entscheidende Rolle um die entsprechenden Nachweispflichten gegenüber Toll Collect und dem Gesetzgeber erfüllen zu können.
Dabei spielen neben der eigentlichen Umsetzung des Test-Tools auch die Erarbeitung von Testabläufen und Test direkt an den Terminals eine entscheidende Rolle. Dies Alles erfolgt in enger Zusammenarbeit mit dem Projektmanagement und den diversen Entwicklern und Entwicklerfirmen.
Im weiteren Projektverlauf wurde der Aufgabenbereich auf das komplette Terminal- System erweitert und deckt sowohl Tests einzelner Komponenten als auch des Gesamtsystems ab. Weiterhin erstreckt sich der Aufgabenbereich von Softwaretests, über Fehlersuche & Fehleranalyse bis hin zur Hilfe bei der Integration einzelner Terminals in das Gesamtsystem Toll Collect.
Umsetzung der Testtools:
Die Umsetzung erfolgte auf Basis von node.js unter Zuhilfenahme des Elektron- Frameworks in Javascript, HTML, CSS und Markdown.
Logistik-Projekt
NOVEMBER 2016 - APRIL 2017
Bei diesem Projekt ging es um Dokumentation, Rückverfolgbarkeit (Stichwort ISO- Zertifizierung etc) und Echtzeit-Standort-Informationen im Bereich Logistik & Transportwesen. Dabei wurde das komplette Frontend auf Bedienung über einen Browser ausgelegt, so dass entsprechende Eingabemasken, Dashboards, Auswertungen und Übersichten etc. durch Umsetzung mittels JavaScript, HTML und CSS auf allen gängigen Eingabegeräten verfügbar sind.
Umsetzung Backend:
Portierung Backend eines Werbeanbieters von PHP zu node.js
FEBRUAR 2015 - SEPTEMBER 2016
Hier wurden insbesondere Leistungsanforderungen in Bezug auf Verfügbarkeit, Skalierbarkeit und Performance umgesetzt um auch in Zukunft wettbewerbsfähig zu bleiben.
Entsprechende Userinterfaces für Administration, Einstellungen sowie die graphische Darstellung in diversen Dashboards und die Aufbereitung der Daten zur leichten Verständlichkeit und Übersicht wurden in JavaScript, HTML und CSS (LESS) umgesetzt.
Umsetzung Backend:
Konzeption & Implementation einer Webportal-Lösung
JANUAR 2008 - JUNI 2016
Ein Portal mit internationaler Ausrichtung realisiert mit PHP & MySQL bei dem es um mehrere Hauptfunktionen ging:
Umsetzung Backend:
diverse größere & kleinere Projekte
ÜBER DEN GESAMTEN ZEITRAUM 2004 - HEUTE
Diverse kleinere Projekte, meist mit dem Hauptaugenmerk auf PHP im Frontend und JAVA im Backend.
Dies geschah oft in enger Zusammenarbeit mit z.B. Webdesignern, Vertrieb/Marketing, Geschäftsführung, Entwicklern und Endanwendern
Beteiligung an der früheren AVIS Webseite
SEPTEMBER 2000 - NOVEMBER 2004
Während meiner Ausbildung habe ich an der Buchungs-Webseite der Autovermietung AVIS mitgearbeitet und hier insbesondere den Stations-Finder und die Anfahrts- Routenplanung umgesetzt.
Die Umsetzung erfolgte auf Basis von Lotus Domino in Kombination mit Java und einem Datenaustausch via XML.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Erstellung einer Supportlösung (Ticket-System) für die Deutsche Flugsicherung
Während meiner Ausbildung habe ich eine Supportlösung speziell für die Deutsche Flugsicherung in Langen entwickelt, damit dort die internen Prozessabläufe entsprechend klar gegliedert, nachvollziehbar und dokumentiert werden konnten.
Die Umsetzung erfolgte auf Basis von Lotus Domino.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Beginn Studium Informatik FH Leipzig
1997 - 2000
Nach dem Abitur und der Wehrpflicht, habe ich ein Studium an der FH Leipzig begonnen, welches leider nicht meine Vorstellungen erfüllen konnte.
Daher habe ich eine Ausbildungsstelle als Fachinformatiker für Anwendungsentwicklung angenommen. Diese Entscheidung habe ich nie bereut.
Mai 2019 - Juni 2019
Implementierung von Microservices in Typescript in einer Cloud basierenden Infrastruktur zur Generierung von verschiedenen Dokumenten und Ausgabeformaten.
Hierbei wurde RabbitMQ zur Kommunikation zwischen einzelnen Microservices genutzt und MSSql als Datenspeicher.
Die Herausforderung hierbei lag insbesondere in der Notwendigkeit Millionen von Dokumentaufträgen zu Handhaben bei begrenzten Ressourcen.
Aufträge zur Dokumenterzeugung wurden gebündelt und an einen externen Service via Rest-API übertragen. Der externe Service wiederum konnte nur eine begrenzte Anzahl von Aufträgen gleichzeitig verarbeiten und deren Abarbeitung war sehr zeitintensiv, sodass hier entsprechende Warteschleifen-Mechanismen nötig wurden, welche auch über mehrere Service-Instanzen (parallele Verarbeitung) zuverlässig funktionieren.
Weiterhin mussten generierte Dokumente entsprechend weiterverarbeitet werden und an diverse weitere externe Dienste geliefert werden.
Das Projekt musste leider Aufgrund des EuGH Urteils zur deutschen PKW Maut vorzeitig durch den Auftraggeber beendet werden.
Umsetzung:
node.js, typescript, express.js, jest, rabbitmq, MSSql, Docker, Rest-API, Kubernetes, Sonarqube, Git, Jira
Eventstore Client - Open Source Projekt
April 2019
Durch die Erfahrungen in vorangegangen Projekten bei der Node.js Anbindung an den Eventstore (eventstore.org) entstand die Idee eine eigene Client-Library zu erstellen, die den modernen Bedürfnissen entspricht.
Ein besonderes Augenmerk wurde hier auf Test Driven Development, Clean Code und Dokumentation gelegt.
Hierdurch ist es den Nutzern möglich, selbst einfach zu verstehenden Quellcode in eigenen Anwendungen zu erstellen. Dazu tragen nicht nur die Verwendung und Bereitstellung von async/await Funktionen bei, sondern auch die Benennung von Methoden und (Alias-)Funktionen.
Die Umsetzung erfolgte in Typescript um zum einen die Vorteile von Typisierung nutzen zu können und zum Anderen um eine einfache Nutzung sowohl in plain Javascript als auch Typescript zu gewährleisten.
Um den Prozess möglichst weit zu automatisieren, wurde eine CI/CD-Pipeline aufgebaut, welche automatisch Tests in entsprechenden Docker Umgebungen laufen lässt, Code-Coverage erstellt und an Drittanbieter sendet und bei Bedarf die Client-Library erstellt und an das NPM Repository überträgt.
Der Quellcode und die Dokumentation ist frei verfügbar unter:
https://github.com/sebastianwessel/eventstore-ts-client
Umsetzung:
Typescript/node.js, mocha, Protobuf, eventstore, Docker, git, Sonarqube, Codecov
YUNAR App - Ambidexter by Deutsche Bank (FinTech/Loyalty)
April 2018 - März 2019
Umsetzung der zentralen Funktionen des Gesamtsystems von der Konzeption über die Implementierung bis hin zum automatisierten Testen.
Für die Backend-Entwicklung wurden Node.js basierende microservices innerhalb einer auf Microsoft Azure basierenden Cloud Infrastruktur umgesetzt. Hiebei spielten insbesondere folgende Dinge eine herausstechende Rolle:
Die Anbindung an externe Loyalty Anbieter via API und Web-Scraping zum Datenaustausch und die die Bereitstellung von Daten via REST-API für mobile Clients.
Weiterhin basiert die komplette Architektur auf CQRS/Event-Driven-Design und es wurde als Datenspeicher keine klassische Datenbank, sondern Eventstore genutzt.
Da es sich bei diesem Projekt um ein Projekt innerhalb der Finanzbranche und um sensitive Nutzerdaten handelt, wurde entsprechend den Themen Security, Audit, Testing etc. ein überdurchschnittlich hoher Stellenwert gegeben.
Bei diesem Projekt wurde der komplette Prozess von der Grundidee bis hin zum öffentlich verfügbaren Produkt mit begleitet und mit gestaltet.
Toll Collect Maut Terminals - Firma Krauth technology
Mai 2017- März 2018
Erstellung einer Software zum Testen von Maut-Terminals, welche für Toll Collect durch die Firma Krauth technology gebaut werden.
Hierbei geht es im Speziellen um die Kommunikation einzelner Komponenten innerhalb des Terminals (Drucker, Bildschirm, Karten-Bezahlsystem etc.) via Dbus und um die Kommunikation zum Backend (Toll Collect) via SNMP eine entscheidende Rolle um die entsprechenden Nachweispflichten gegenüber Toll Collect und dem Gesetzgeber erfüllen zu können.
Dabei spielen neben der eigentlichen Umsetzung des Test-Tools auch die Erarbeitung von Testabläufen und Test direkt an den Terminals eine entscheidende Rolle. Dies Alles erfolgt in enger Zusammenarbeit mit dem Projektmanagement und den diversen Entwicklern und Entwicklerfirmen.
Im weiteren Projektverlauf wurde der Aufgabenbereich auf das komplette Terminal- System erweitert und deckt sowohl Tests einzelner Komponenten als auch des Gesamtsystems ab. Weiterhin erstreckt sich der Aufgabenbereich von Softwaretests, über Fehlersuche & Fehleranalyse bis hin zur Hilfe bei der Integration einzelner Terminals in das Gesamtsystem Toll Collect.
Umsetzung der Testtools:
Die Umsetzung erfolgte auf Basis von node.js unter Zuhilfenahme des Elektron- Frameworks in Javascript, HTML, CSS und Markdown.
Logistik-Projekt
NOVEMBER 2016 - APRIL 2017
Bei diesem Projekt ging es um Dokumentation, Rückverfolgbarkeit (Stichwort ISO- Zertifizierung etc) und Echtzeit-Standort-Informationen im Bereich Logistik & Transportwesen. Dabei wurde das komplette Frontend auf Bedienung über einen Browser ausgelegt, so dass entsprechende Eingabemasken, Dashboards, Auswertungen und Übersichten etc. durch Umsetzung mittels JavaScript, HTML und CSS auf allen gängigen Eingabegeräten verfügbar sind.
Umsetzung Backend:
- node.js mit Framework express.js (JavaScript) - socket.io
- RabbitMQ
- redis
- MongoDB
- JavaScript
- HTML
- CSS/LESS/SASS
Portierung Backend eines Werbeanbieters von PHP zu node.js
FEBRUAR 2015 - SEPTEMBER 2016
Hier wurden insbesondere Leistungsanforderungen in Bezug auf Verfügbarkeit, Skalierbarkeit und Performance umgesetzt um auch in Zukunft wettbewerbsfähig zu bleiben.
Entsprechende Userinterfaces für Administration, Einstellungen sowie die graphische Darstellung in diversen Dashboards und die Aufbereitung der Daten zur leichten Verständlichkeit und Übersicht wurden in JavaScript, HTML und CSS (LESS) umgesetzt.
Umsetzung Backend:
- node.js/express.js (JavaScript) - Apache Kafka
- MySQL
- MongoDB
- redis
- Elasticsearch
- diverse Rest-API-Anbindungen
- JavaScript
- HTML
- CSS (LESS)
Konzeption & Implementation einer Webportal-Lösung
JANUAR 2008 - JUNI 2016
Ein Portal mit internationaler Ausrichtung realisiert mit PHP & MySQL bei dem es um mehrere Hauptfunktionen ging:
- CMS Möglichkeiten (Pflege von Inhalten)
- gezielte Werbung basierend auf Geo-Standort Informationen
- Buchung/Abrechnungsfunktionen
- Auswertungen, usertracking, SEO Optimierung und intelligente Suche/
- Inhaltsangebote
Umsetzung Backend:
- PHP
- node.js (JavaScript)
- MySql
- diverse Rest-API-Anbindungen
- JavaScript
- HTML
- CSS (LESS)
diverse größere & kleinere Projekte
ÜBER DEN GESAMTEN ZEITRAUM 2004 - HEUTE
Diverse kleinere Projekte, meist mit dem Hauptaugenmerk auf PHP im Frontend und JAVA im Backend.
Dies geschah oft in enger Zusammenarbeit mit z.B. Webdesignern, Vertrieb/Marketing, Geschäftsführung, Entwicklern und Endanwendern
Beteiligung an der früheren AVIS Webseite
SEPTEMBER 2000 - NOVEMBER 2004
Während meiner Ausbildung habe ich an der Buchungs-Webseite der Autovermietung AVIS mitgearbeitet und hier insbesondere den Stations-Finder und die Anfahrts- Routenplanung umgesetzt.
Die Umsetzung erfolgte auf Basis von Lotus Domino in Kombination mit Java und einem Datenaustausch via XML.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Erstellung einer Supportlösung (Ticket-System) für die Deutsche Flugsicherung
Während meiner Ausbildung habe ich eine Supportlösung speziell für die Deutsche Flugsicherung in Langen entwickelt, damit dort die internen Prozessabläufe entsprechend klar gegliedert, nachvollziehbar und dokumentiert werden konnten.
Die Umsetzung erfolgte auf Basis von Lotus Domino.
Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.
Beginn Studium Informatik FH Leipzig
1997 - 2000
Nach dem Abitur und der Wehrpflicht, habe ich ein Studium an der FH Leipzig begonnen, welches leider nicht meine Vorstellungen erfüllen konnte.
Daher habe ich eine Ausbildungsstelle als Fachinformatiker für Anwendungsentwicklung angenommen. Diese Entscheidung habe ich nie bereut.
Reisebereitschaft
Verfügbar in den Ländern
Deutschland, Österreich und Schweiz
Raum Frankfurt am Main (Rhein-Main-Gebiet) + 100km
Außerhalb nach Absprache möglich
Außerhalb nach Absprache möglich