Backend for Frontend
Backend for Frontend (BFF) ist ein Architekturmuster, bei dem für jede Frontend-Anwendung ein dedizierter Backend-Service entwickelt wird, der spezifisch auf die Anforderungen dieser einen Benutzeroberfläche zugeschnitten ist. Dieses Muster optimiert die Datenübertragung und API-Struktur für die jeweilige Frontend-Technologie und verbessert dadurch Performance und Entwicklungseffizienz.
Backend for Frontend Projekte
E-Commerce Backend mit REST API und CI/CD
Versandhandel
08/2020 - 03/2021 · Remote
Entwicklung eines E-Commerce Backends mit REST API zur Integration eines Online-Shops mit externen Anwendungen und Diensten
Tätigkeiten
- Planung und Implementierung des Backends und der REST API auf Basis von Go
- Authentifizierung über Identity-Aware Proxy für sicheren, kontrollierten und performanten Zugriff
- Integration einer vorhandenen Datenbank mit Kunden-, Produkt- und Bestelldaten
- Entwicklung einer CI/CD-Pipeline zur Automatisierung von Build, Test und Deployment in verschiedene Umgebungen
- Entwicklung eines Werkzeugs zur Anonymisierung produktiver Kunden- und Adressdaten und zur Bereitstellung der Daten in verschiedenen Umgebungen
Software-Typ
API · Backend-Service · Datenbank-LösungZielplattformen
AWS · Amazon Web Services · Linux Server · Hetzner CloudTechnologien
Go · REST · JSON · JWT · OpenID Connect · OIDC · OAuth 2.0 · MySQL · CI/CD · GitHub Actions · Bash · Serviceorientierte Architektur · Backend for Frontend · Identity-Aware Proxy · Reverse ProxyEntwicklung einer cloud-nativen Incentive-Anwendung mit AWS
Versicherungskonzern
07/2018 - 04/2019 · Remote
Entwicklung und Betrieb einer cloud-nativen Anwendung für die dezentrale unternehmensinterne Erfassung, zentrale Verwaltung und steuerliche Behandlung von vertrieblichen Incentives und geldwerten Vorteilen einschließlich CI/CD auf Basis von Kubernetes und Diensten in Amazon Web Services
Tätigkeiten
- Planung und Einrichtung der Umgebungen für Entwicklung, Integration, Test, Schulung und Produktion auf Basis von Docker, Kubernetes und verschiedenen AWS-Diensten
- Entwicklung der CI/CD-Pipelines für Frontend und Backend-Dienste
- Erweiterung des API Gateways um Authentifizierung und Autorisierung auf Basis von Tokens
- Mitwirkung an der Entwicklung der Geschäftslogik im Backend und der RESTful API einschließlich Test und Dokumentation
- Mitwirkung an der Entwicklung des Datenmodells für die PostgreSQL-Datenbank
- Mitwirkung an Planung und Entwicklung von Schnittstellen und Batch-Prozessen zum Austausch von Daten mit SAP Gateway, PostgreSQL, Redis und S3 mit Testdaten zum Zweck der lokalen Frontend- und Backend-Entwicklung
- Dokumentation der Softwarearchitektur einschließlich Betrieb, Schnittstellen und Prozessen
- Einarbeitung der Betriebsveranwortlichen bei der Übergabe der Anwendung in den dauerhaften Betrieb
- Projektsprachen: Deutsch, Englisch
Software-Typ
Web-Anwendung · Backend-Service · API · Datenbank-LösungTechnologien
Java · Spring · PostgreSQL · SQL · Redis · Docker · REST · SAML · Single Sign-On · SSO · JWT · JSON · CSV · Spring Boot · Spring Framework · Spring MVC · Spring Security · Spring Session · Spring Batch · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Testing · Spring Actuator · Spring Cloud · Spring Cloud Netflix · Spring Cloud Gateway · Spring WebFlux · Thymeleaf · JPA · JPQL · Hibernate · JavaMail · Jackson · Lombok · JUnit · AssertJ · Mockito · CI/CD · Jenkins · Groovy · Maven · SonarQube · Flyway · Nexus · Bash · GitHub · Amazon S3 · Amazon RDS · Amazon ElastiCache · Amazon Route 53 · Amazon SES · AWS Certificate Manager · Elastic Load Balancing · Nginx · HTML · JavaScript · Node.js · Npm · Kubectl · Jira · Confluence · Mac · IntelliJ IDEA · Domain-driven Design · Datenmodellierung · Serviceorientierte Architektur · API-Gateway · Backend for Frontend · Load Balancing · Microservices · Service-Discovery · Authentifizierung · Autorisierung · E-Mail · CloudBackend- und CMS-Entwicklung für Airline-Portal
Fluggesellschaft
01/2018 - 06/2018 · Köln
Serverseitige Entwicklung einer Webanwendung mit Integration von Produktkatalog, Adobe Experience Manager, externen Diensten und einer Internet Booking Engine.
Tätigkeiten
- Serverseitige Entwicklung zur Abfrage, Aggregation, Integration, Verknüpfung und Ausgabe von Daten aus verschiedenen Systemen:
- Produktinformationen aus einer Datenbank mit Flugplänen, Preisen, geografischen Informationen über Kontinente, Länder, Regionen, Orte und Flughäfen
- Redaktionell gepflegte multimediale Inhalte mit ergänzenden Informationen aus Adobe Experience Manager
- Ergänzende Produktdaten aus externen Quellen (z. B. Informationen über das Reisewetter)
- Parametrisierter Einsprung in das Buchungssystem
- Berücksichtigung und Unterstützung von Mehrsprachigkeit und Lokalisierung (Sprachen, Währungen, Zeiten)
- Entwicklung eines Docker Images mit Reverse Proxy, Caching, Load Balancing zur Integration der Systeme
Software-Typ
Web-Anwendung · Backend-Service · API · Datenbank-LösungTechnologien
Java · OSGi · REST · MS SQL Server · JUnit · Mockito · AssertJ · Maven · JSON · Docker · Apache HTTP Server · Caching · Load Balancing · Reverse Proxy · Bash · Mercurial · Adobe Experience Manager (AEM) · Jira · Confluence · Mac · Serviceorientierte Architektur · Backend for FrontendBackend-Entwicklung für globales Event-Buchungssystem
Medizintechnikunternehmen
11/2017 - 12/2017 · Remote
Entwicklung einer Anwendung für die globale Vermarktung mehrsprachiger Veranstaltungen und Seminare mit Funktionen zur Buchungs- und Bestellabwicklung, zur Erzeugung und Versand von digitalen Eintrittskarten sowie zur Einlasskontrolle
Tätigkeiten
- Entwicklung des Backends mit einer RESTful API zur Nutzung durch das Web-Frontend und eine mobile App einschließlich Integrationstests, Dokumentation und Coaching der Frontend- und App-Entwickler mit folgenden Funktionen
- Abruf von umfangreichen Informationen über weltweit stattfindende Veranstaltungen inklusive Filterung, Sortierung, Lokalisierung, Mehrsprachigkeit, Zeitzonen
- Buchung, Stornierung und Absage von Veranstaltungen
- Erzeugung von personalisierten Eintrittskarten mit QR-Codes und Informationen zur gebuchten Veranstaltung als PDF-Dokumente und Pässe für Apple Wallet
- Gültigkeitsprüfung und Entwertung der Eintrittskarten zwecks Einlasskontrolle bei den Veranstaltungen vor Ort
- Ereignisbasierter Versand von personalisierten Nachrichten und Status-Updates per E-Mail, SMS und Apple Notifications
- Implementierung von Authentifizierung und Autorisierung
- Entwicklung von Teilen des Datenmodells in der PostgreSQL-Datenbank
- Integration der Buchhaltung über Microsoft Dynamics Business Central (ehemals Navision)
- Projektsprachen: Deutsch, Englisch
Software-Typ
Web-Anwendung · Backend-Service · API · Datenbank-LösungTechnologien
Java · Spring Boot · Spring Data · Spring Security · Spring REST Docs · Flyway · PostgreSQL · Datenmodellierung · REST · OAuth 2.0 · JWT · PDF · Apple Wallet & PassKit · Apple Push Notifications · E-Mail · SMS · Gradle · Bitbucket · Jira · Confluence · Mac · Docker · Serviceorientierte Architektur · Backend for Frontend · MicroservicesEntwicklung und Betrieb einer mobilen App mit Backend
Dienstleistungen
10/2016 - 07/2021 · Köln
Entwicklung und Betrieb einer nativen mobilen App für iPhone und iPad zur Berechnung von Anwalts- und Gerichtskosten mit In-App-Käufen (Abonnements) mit einem mobilen Backend auf Basis von Swift, Java, PostgreSQL und REST
Tätigkeiten
- Entwicklung einer mobilen App für iOS und iPadOS zur Unterstützung von Juristinnen und Juristen bei der Bewertung wirtschaftlicher Prozessrisiken
- Spezialisierte Rechner zur schnellen und präzisen Berechnung von Anwalts- und Gerichtskosten nach dem deutschen Rechtsanwaltsvergütungsgesetz (RVG) und dem Gerichtskostengesetz (GKG)
- Berechnung der Kosten von Mahn- und Klageverfahren über mehrere Instanzen im Arbeits- und Zivilrecht
- Berechnung von Kosten für außergerichtlichen Verfahren im Arbeits- und Zivilrecht
- Berechnung der Verteilung der Kosten auf die Parteien des Verfahrens und des Kostenrisikos für Mandanten
- Berücksichtigung der kostenrechtlichen Unterschiede bei Beendigung des Klageverfahrens durch Urteil oder Vergleich
- Berücksichtigung verschiedener Umsatzsteuersätze
- Die App ermöglichte es den Anwendern, ein Premium-Abonnement abzuschließen.
- Entwicklung eines skalierbaren, sicheren Backend-Systems für die mobile App
- Verwaltung der Premium-Abonnements mit REST API zum Abruf durch die mobile App
- Verwaltung von Werbeanzeigen mit REST API zum Abruf der geschalteten Anzeigen durch die mobile App
- Authentifizierung und Autorisierung über OAuth 2.0
- Integration mit dem App Store
- CI/CD-Pipelines auf Basis von Jenkins, GitLab und Artifactory
- Entwicklung einer Website mit Informationen über die mobile App
Software-Typ
Mobile App · Backend-Service · API · Datenbank-LösungTechnologien
Swift · Java · Spring · REST · JSON · OAuth 2.0 · JWT · SQL · PostgreSQL · Datenmodellierung · HTML · CSS · Spring Boot · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Security · Thymeleaf · Hibernate · Flexmark · Tomcat · Maven · Jenkins · Groovy · Artifactory · Flyway · Bash · GitLab · StoreKit · Xcode · TestFlight · App Store Connect · JUnit · Mockito · Hamcrest · Nginx · Git · Redmine · IntelliJ IDEA · Mac · Serviceorientierte Architektur · Backend for Frontend · CI/CDHeadless CMS, Continuous Deployment & Kubernetes
Dienstleistungen
01/2015 - 05/2018 · Köln
Entwicklung einer Web-Anwendung zur Content-Aggregation aus einem Headless CMS mit vollständiger CI/CD-Pipeline-Automatisierung über Jenkins, Docker und Kubernetes für kontinuierliches Software-Deployment.
Tätigkeiten
- Konzeption und Implementierung einer Web-Anwendung zur Aggregation von Content (Texte, Bilder, Links) über REST API aus einem Headless CMS
- Integration und Anreicherung von CMS-Content mit zusätzlichen Daten aus externen Datenquellen für eine einheitliche Website-Darstellung
- Aufbau einer vollautomatisierten Continuous Integration, Delivery & Deployment Pipeline mit Jenkins, Bitbucket und Maven für optimierte Entwicklungsprozesse
- Einrichtung einer Git-basierten Trigger-Mechanik für automatische Build- und Deployment-Prozesse bei Code-Commits
- Migration der bestehenden VM-basierten Cloud-Infrastruktur zu einer containerisierten Kubernetes-Architektur im Jahr 2018
- Implementierung einer containerisierten Deployment-Strategie mit Docker-Image-Erstellung und automatischem Upload in Docker Registry
- Konfiguration und Betrieb von Kubernetes-Clustern für automatisierte Deployment-Prozesse auf Test-, Stage- und Produktionsumgebungen
- Betrieb und Wartung der gesamten Infrastruktur mit kontinuierlicher Optimierung der Deployment-Pipeline für häufige Release-Zyklen
- Integration von Security-Komponenten und TLS-Verschlüsselung für sichere Content-Auslieferung
Software-Typ
Web-Anwendung · APITechnologien
Java · Spring Boot · Spring Security · Thymeleaf · Prismic · Maven · Bitbucket · Jenkins · Docker · Docker Hub · Nginx · Linux Server · REST · Git · Caching · Reverse Proxy · Serviceorientierte Architektur · Backend for Frontend · CI/CDJava-Backend für TV-Produktionsplanung mit Echtzeit-Updates
Europäischer Medienkonzern
01/2008 - 07/2009 · Köln
Die konzipierte und entwickelte Anwendung ermöglicht den TV-Redaktionen eines europäischen Medienkonzerns eine standortübergreifende Planung der Produktion von Nachrichtensendungen und Beiträgen einschließlich Disposition der beauftragten Teams und Mitarbeiter sowie der Zuteilung von technischen Ressourcen in Echtzeit.
Tätigkeiten
- Ermittlung und Dokumentation der Anforderungen in wöchentlichen Meetings mit Abteilungsleitern, Redakteuren und Projektleitern (u. a. Newsdesk)
- Entwicklung des Java-Backends mit einer API für das Web Frontend
- Modellierung und Entwicklung des umfangreichen Datenmodells für TV-Sendungen, Beiträge, Nachrichten, Produktionsteams, Mitarbeiter, Arbeitszeit- und Belegungspläne, Niederlassungen, technische Ressourcen, Fahrzeuge, Außeneinsätze, Standorte, Benutzer, Gruppen und Rechte
- Entwicklung der serverseitigen Geschäftslogik zum Abrufen, Bearbeiten, Speichern und Verknüpfen von Daten durch eine Vielzahl von Anwendern
- Entwicklung von Such-, Filter- und Softierfunktionen über den Datenbestand
- Planung und Implementierung einer ereignisgesteuerte Architektur zur Benachrichtigung von Anwendern, um die Anzeige der Daten auf den Bildschirmen aller Anwender in Sekundenbruchteilen aktualisieren zu können
- Entwicklung eines Batch-Prozesses zum automatisierten Import neuer E-Mail-Nachrichten mit Nachrichtenangeboten einschließlich Anhängen (z. B. Bilder, Word-Dokumente, PDF-Dateien) aus Microsoft Exchange in das Backend zum Zweck der weiteren redaktionellen Verarbeitung durch die Anwender
- Authentifizierung der Anwender durch Integration der vorhandenen Microsoft Systeme
- Autorisierung der Anwender auf Basis eines in der Anwendung konfigurierbaren Rollen- und Berechtigungskonzepts, das die Anwender entsprechend ihren beruflichen Funktionen nur auf die für sie freigegebenen Teilmengen der Daten zugreifen lässt
Software-Typ
Backend-Service · API · Datenbank-LösungTechnologien
Java · Java EE · EJB · MDB · JMS · JPA · Hibernate · JTA · JDBC · JavaMail · GlassFish · MS SQL Server · Active Directory · LDAP · Datenmodellierung · Web Services · SOAP · UML · PowerDesigner · Enterprise Architect · NetBeans · Eclipse · Subversion · SharePoint · Mac · Backend for Frontend · Event-Driven Architecture · Serviceorientierte Architektur