Homesk: Backoffice neu gebaut auf bestehender Anmeldung
Eine Angular Anwendung an ihren Grenzen, ersetzt durch einen Neubau, der die vorhandene Entra ID Registrierung und die bestehende Fachschnittstelle weiterverwendet.
Eingesetzte Leistungen
Ausgangslage
Homesk verwaltet Immobilien von der Akquise bis zum Bestand. Das bestehende Backoffice war eine Angular Anwendung, die an ihre Grenzen kam. Gefordert war ein Neubau, der die vorhandene Anmeldung und die bestehende Fachschnittstelle weiterverwendet, damit nicht Oberfläche und Unterbau gleichzeitig ausgetauscht werden müssen.
Lösung
Ich habe das Backoffice mit Next.js und React neu gebaut und die vorhandene Entra ID Registrierung bewusst übernommen. Die Anmeldung läuft über OpenID Connect im Authorization Code Flow mit PKCE als Confidential Client. Berechtigungen kommen als App Rollen aus den Ansprüchen des ID Tokens und werden serverseitig geprüft. Die stille Erneuerung habe ich selbst umgesetzt: Der Zugriffstoken wird mit 60 Sekunden Sicherheitsabstand gegen seine Ablaufzeit geprüft und über den Refresh Token erneuert. Schlägt das fehl, landet ein benannter Fehlerzustand in der Sitzung, statt dass die Anwendung stumm in einen abgemeldeten Zustand fällt. Interne Fachdaten ruft die Anwendung im Namen des angemeldeten Nutzers ab und reicht dessen Token weiter, statt mit einem technischen Dienstkonto zu arbeiten. Energieausweise werden über eine Dokumentenerkennung automatisch ausgelesen. Aus Marktdaten leitet die Anwendung eine Preisspanne ab, über das 25. und das 75. Perzentil des Quadratmeterpreises. Fehlt die Wohnfläche oder ist sie unplausibel, liefert die Funktion kein Ergebnis statt einer geschätzten Zahl: In einer Immobilienbewertung richtet eine ausbleibende Zahl weniger Schaden an als eine falsche. Beim Aufräumen verwaister Bilder bietet die eingesetzte Bibliothek keine Auflistung, eine vollständige Erkennung ist damit nicht möglich; das ist im Code vermerkt statt kaschiert. Für angebundene Portale gibt es eine getrennte öffentliche Leseschnittstelle mit verwalteten Schlüsseln, bewusst außerhalb der Benutzeranmeldung.
Ergebnis
Objekte, Gebäude, Energieausweise und Leads liegen in einer Anwendung, verteilt auf 9 Tabellen und 28 Schnittstellen. Für die Nutzer war der Wechsel ein Oberflächenwechsel, keine Neuanmeldung. Die Kundenbeziehung besteht seit 2015.