Zum Inhalt springen

Assenagon — Informationsplattform für Investmentfonds

Viereinhalb Jahre Full-Stack-Entwicklung an einer TYPO3-Plattform für institutionelle Investoren — Fondssuche und -filterung, automatisierte Datenimporte, Performance-Charts und ein Relaunch im laufenden Betrieb.

2020 – 2024
TYPO3 11.5 PHP 8.1 Extbase / Fluid MySQL JavaScript Highcharts LESS Grunt Docker GitLab CI DDEV

Ausgangslage

Ein institutioneller Vermögensverwalter brauchte eine Plattform, auf der professionelle Investoren Fondsprodukte finden, filtern und prüfen können. Die Fondsdaten mussten ohne manuelle Pflege aktuell bleiben, die Wertentwicklung so dargestellt werden, dass Investoren sie tatsächlich auswerten können — und das Ganze musste über Jahre wachsende Anforderungen überstehen.

Die Plattform war von einer anderen Agentur gebaut worden und hatte bereits mehrere Jahre Geschichte hinter sich, als ich dazustieß. Ich habe die Codebasis 2020 übernommen — anfangs gemeinsam mit einem Kollegen, später allein — und sie viereinhalb Jahre lang getragen.

Vorgehen

Die Plattform läuft auf TYPO3 mit Extbase und Fluid, auf PHP 8.1 und MySQL. Statt das CMS um die Fondsdaten herumzubiegen, liegt die Fachlichkeit in zwei eigens gebauten Extensions: einer Kern-Extension mit Controllern, geplanten Aufgaben, ViewHelpern, Frontend-Authentifizierung und Backend-Layout-Hooks, sowie einer eigenen Fonds-Extension mit dem Fonds-MVC — Domain-Modelle, Controller, ViewHelper, Seitentitel-Provider und Slug-Erzeugung.

Genau diese Trennung hat die Jahre der Veränderung tragbar gemacht: Der Relaunch betraf Templates und Stylesheets, die Fondslogik darunter blieb stabil.

Umsetzung

Fondssuche. Der FundFinder filtert per AJAX nach Fondstyp, Land, Risikoklasse und Rechnungslegung — Investoren grenzen einen großen Katalog ein, ohne die Seite neu zu laden. Der Fonds-Controller steuert die Highcharts-Darstellung der Wertentwicklung und die Endpunkte für Dokument-Downloads.

Automatisierte Daten-Pipeline. Ein Import-Werkzeug liest CSV-Datenquellen nach Zeitplan und legt Fondsdatensätze samt ihrer Verknüpfungen zu Ländern, Typen und Risikoklassen an beziehungsweise aktualisiert sie. Fünfzehn geplante Aufgaben decken Importe, Export von Formularanfragen, Nachrichtenverarbeitung und Aufräumarbeiten ab — die Plattform hält sich selbst aktuell, statt auf manuelle Pflege zu warten.

Darstellungsebene. Rund 25 Fluid-ViewHelper übernehmen die wiederkehrende fachliche Formatierung — Länder, Fondstypen, Risikoklassen, Zahlenformate, Downloads — damit in den Templates die Absicht steht und nicht die Logik. Im Frontend decken etwa 1.800 Zeilen JavaScript die Fondsliste, die Highcharts-Anbindung, die AJAX-Filterung, ein Nachrichtenarchiv mit Doppel-Slider, Cookie-Einwilligung, Zwischenablage und eigene Formulare ab.

Deployment. Ein mehrstufiger Docker-Build kompiliert die Assets mit Node und liefert über PHP-Apache aus. GitLab CI führt Releases über Staging und eine Release-Candidate-Stufe in die Produktion, mit Tag-basierten Deployments und Skripten zum Datenbankabgleich; die lokale Umgebung stellt DDEV bereit.

Technische Schwerpunkte

Eine fremde Architektur übernehmen. Das Projekt begann als geerbte Codebasis einer anderen Agentur, mit jahrelang eingebackenen Entscheidungen. Statt neu zu schreiben, habe ich die bestehende Struktur erschlossen und erweitert — die Entwicklung lief ohne disruptiven Neuaufbau weiter, was ein geerbtes System in aller Regel auch tatsächlich braucht.

Relaunch im laufenden Betrieb. Die LESS-Architektur, die ich übernommen habe, trug das Erbe früherer Relaunch-Zyklen. Darauf aufbauend habe ich den Relaunch 2022 umgesetzt und das Frontend modernisiert, bei gewahrter Rückwärtskompatibilität — ohne Abschaltung und ohne Feature-Stopp.

Ergebnis

Viereinhalb Jahre durchgehende Entwicklung — über TYPO3-Versionssprünge, einen Frontend-Relaunch und den Wechsel von gemeinsamer zu alleiniger Verantwortung — bei durchgehendem Betrieb für institutionelle Investoren. In direkter Abstimmung mit Marketing und Fondsmanagement des Kunden zu Inhalten und Datenanforderungen entstand die Art von langfristiger Kundenbeziehung, in der ein System aktuell bleibt, statt die technischen Schulden anzuhäufen, die am Ende zum Neuschreiben zwingen.

Highlights

  • Viereinhalb Jahre durchgehende Entwicklung an einer Plattform
  • Zwei eigene TYPO3-Extbase-Extensions
  • Automatisierter CSV-Fondsimport über geplante Aufgaben
  • AJAX-Fondssuche mit Mehrfachfilterung
  • Highcharts-Darstellung der Wertentwicklung
  • Relaunch 2022 ohne Betriebsunterbrechung