eSailors (heute Lotto24) ist eine Softwaredienstleister für Online Lotterien der eine mehrsprache mutli-tenant Plattform mit mehr als 400.000 aktiven Nutzern betreibt. Ich war im Bereich "Games" beschäftigt welcher für Front- und Backend für die Darstellung und den Kauf der diversen Lotterien zuständig ist.
Weiterentwicklung von Lotterien
Die Plattform für den Bereich "Games" besteht aus 70 größtenteils JVM-basierten Microservicen (einige waren auch etwas weniger "micro") die alle innerhalb eines Kubernetes Cluster laufen. Meine Aufgabe waren die Wartung unserer Codebasis und die Implementierung von neuen Lotterien im Front- und Backend. Diese Aufgabe umfasste typischerweise Änderungen an diversen Komponenten: Ticket-UI, Warenkorb, Spiel-Historie sowie Bezahlvorgang und dem "hedging". Viele dieser Änderungen wurden durch das Team "Games" direkt durchgeführt und andere mit den anderen Entwicklungsteams bei eSailors koordiniert wurde.
Auslagern der Ticket UI in micro-frontends
Die Kernkomponente des Frontends (der "Webshop") war Monolith aus Spring-Boot + Angular. Aufgrund komplexer Abhängigkeiten und lange laufenden Integrationstest stellte sich dieser häufig als Flaschenhals in unserem Entwicklungsprozess heraus. Um es zu Ermöglichen unserer Frontends separat vom Webshop deployen zu können haben wir die UI in einzelne Micro-Frontends herausgelöst. Diese konnten so eigenständig entwickelt, getestet und deployed werden. Die Integration in dem Webshop erfolgte dabei durch einen kleinen IFrame Wrapper im Webshop selbst.
Migration von AngularJS zu Angular
Die UI der Lotterien und auch große Teile des Webshops waren initial noch AngularJS Anwendungen. Während meiner Zeit haben wir alle diese Teile komplett nach Angular migriert. Wir haben dies iterativ durchgeführt, sodass in während der Migration auch weiter neue Features entwickelt werden konnten. Die Migration verlief größtenteils ohne größere Pannen, wir hatten allerdings eine Lange Zeit mit vielen interessanten Bugs und Edge-Cases zu kämpfen.
Internationalisierung
eSailors hat sich entschlossen den internationalen Markt zu betreten (beginnend mit Irland, gefolgt von Schottland und Rumänien). Die gesamte Plattform war bis zu diesem Zeitpunkt ausschließlich Einsprachig und hatte in weiten Teilen weder Unterstützung für Mehrsprachigkeit noch für unterschiedliche Währungen. Die Internationalisierung hat viele unserer Entwicklung für eine lange Zeit beschäftigt und hatten viel Spaß mit dem fixen von Layout-Bugs, weil Texte plötzlich sehr viel kürzer oder länger waren als angenommen.