← Alle Projekte
Mehrfachbetreiber von Telekom-Partnershops (NDA)

Management-Portal für einen Mehrfachbetreiber von Telekom-Partnershops

Eine Plattform, die HR, Verkauf, Provisionierung, Filialverwaltung und interne Kommunikation eines mehrstandortigen Telekom-Partnerbetriebs unter einem Dach bündelt – seit acht Jahren im Produktivbetrieb, kontinuierlich weiterentwickelt.

Laravel Livewire PHP MySQL Tailwind CSS

Kontext

Wer mehrere Telekom-Partnershops gleichzeitig betreibt, sitzt zwischen zwei Welten: einem hart vorgegebenen Vertriebs- und Provisionierungs­modell der Telekom auf der einen, dem ganz normalen Alltag eines Einzelhandelsunternehmens (Personal, Kasse, Mietverträge, Schulungen) auf der anderen Seite. In den meisten Häusern verteilt sich das auf drei bis fünf Tools, eine Excel-Sammlung und einen Mailverteiler.

Dieses Portal löst das anders: alles, was in einem Mehrfachbetrieb tatsächlich getan, gemessen und abgerechnet wird, läuft seit Februar 2018 in einer einzigen Anwendung – die ich als Entwickler über die gesamte Laufzeit verantworte und gemeinsam mit dem Betrieb weiterentwickle.

Was die Plattform abdeckt

  • Filialen & Personal: Standorte, Öffnungs­zeiten, Sonderzeiten, Mitarbeitende mit Rollen (Verkäufer:in, Trainee, Filialleitung, Springer:in, Trainer:in), Dienstplanung, Stundenerfassung, Überstunden, Urlaub, Krankmeldung.
  • Vergütung: Gehaltsbänder, Wochenabrechnung, individuelle Boni, automatische Nacht-Aggregation pro Mitarbeitenden und Standort.
  • Verkauf & Provisionen: Sales pro Mitarbeitenden, Push-Kampagnen mit eigenen Geld­zielen, Dealcloser-Boni, Hardware-Incentives, automatische Punktverrechnung.
  • Telekom-Spezifika: ACCI-Tracking (Vertragsverlängerung & Kundenbindung), Magenta-Aktionen, Smart-Home-Aktivierungen, Winback- und Rework-Aktionen mit eigenen Kennzahlen.
  • Qualität & Kassenführung: Quality-Checks pro Filiale (zwei aufeinander aufgebaute Versionen, weil sich der Anforderungs­katalog geändert hat), Quick-Checks, Kassenprüfungen, Tresor-Codes mit verschlüsselter Speicherung und Zugriffs­protokoll.
  • Filialbetriebsführung: Mietverträge mit Vermieter-Stamm, Lieferantenverträge, Verbrauchsdaten, Ansprechpartner, Werbeflächen-Vereinbarungen.
  • Kommunikation: Hauseigener Newsfeed, Forum, Aufgabenmanagement, Echtzeit-Chat zwischen den Standorten, Push-Notifications via Pusher.
  • Reporting: Tages-, Wochen- und Monats­reports per Mail, Excel-Exports, KPI-Dashboards pro Standort und Person, iCal-Feed für Termine.

Architektur, die im Alltag den Unterschied macht

  • Acht Jahre Codebase, schrittweise modernisiert. Die Anwendung ist 2018 mit Laravel und reinem Blade gestartet. Heute läuft sie auf Laravel 9, mit Livewire 2 für die reaktiven neuen Komponenten und einem schrumpfenden Restbestand Vue 2 für ältere Bereiche. Tailwind ist von 2 auf 3 migriert, der Build läuft weiterhin auf Laravel Mix – pragmatisch, weil ein produktives Tool nicht zum Selbstzweck umgebaut wird. Größere Umbauten passieren nur dort, wo sie sich an einer Funktions­erweiterung mitnehmen lassen.
  • AWS Lambda über Laravel Vapor. Telekom-Partnershops haben sehr ungleiche Last (Vormittag leise, Nachmittag laut, Aktionswochen brutal). Vapor mit --classmap-authoritative und event:cache minimiert Cold-Start-Zeiten, Worker und Web skaliert die Plattform automatisch. Wartungsfenster gibt es de facto keine.
  • Multi-Shop-Scoping per Session statt Subdomain. Filialleitungen wechseln im laufenden Betrieb mehrmals täglich zwischen ihren Standorten. Statt mit Subdomains oder URL-Pfaden zu arbeiten, hängt der aktive Shop an der Session – ein einziger Switcher in der UI, alle Queries bleiben auf den gewählten Standort scoped. Trade-off: Disziplin im Controller-Code (jede Query muss den Filter explizit anwenden), dafür viel weniger Reibung im Alltag.
  • Audit-Log auf alles, was relevant ist. Spatie Activity-Log läuft auf praktisch allen Domain-Modellen: Login-Versuche (auch fehlgeschlagene auf deaktivierten Accounts), Kassen-Code-Zugriffe, Dokumenten-Downloads, Vertrags­änderungen. Wenn die Compliance-Frage „wer hat wann was?" kommt, ist die Antwort einen SELECT entfernt.
  • Microsoft 365 als Adressbuch der Wahrheit. Mitarbeiter­änderungen (Telefon, Adresse, Position) werden über Microsoft Graph automatisch in die Office-365-Kontakte des Betriebs synchronisiert. Eine Pflege­stelle, ein konsistentes Adressbuch in Outlook und Teams.

Stack

Laravel 9 mit Livewire 2, Blade, im Restbestand Vue 2. Tailwind CSS 3 über Laravel Mix. MySQL, deployt auf AWS Lambda via Laravel Vapor, S3 für Dokumente und Medien. Spatie Permission für die Rollen, Spatie Activity-Log für die Audit-Spur, Algolia Scout für die hausweite Suche, Pusher für Echtzeit-Chat und Push-Benachrichtigungen, Mailgun für die Zustellung, Microsoft Graph für die Office-365-Anbindung, Cronofy für Kalender-Exports.

PDF-Erzeugung über dompdf und mikehaertl/php-pdftk, Excel-Exports über maatwebsite/excel, Imports der Telekom-Produkt­kataloge ebenfalls über Excel-Pipelines.

Status

Im durchgängigen Produktiv­betrieb seit 2018, aktuell mit 128 Eloquent-Modellen und über 400 Migrationen Geschichte. Die Plattform wird in Sprints fortlaufend weiterentwickelt, getrieben von Telekom-Tarif­runden, neuen regulatorischen Anforderungen, organisatorischen Änderungen beim Betreiber und natürlich aus dem Alltag der Filialen.

Aus Entwicklersicht der ehrlichste Lehrmeister: ein Codebase, mit dem man tatsächlich acht Jahre lebt, in dem Refactorings nicht nach Schönheit, sondern nach Wirkung priorisiert werden – und in dem jede Architektur­entscheidung später noch jemand (in der Regel ich selbst) bezahlen muss. Genau die Art von Projekt, die einen über Jahre besser macht.

Diese Seite nutzt ausschließlich technisch notwendige Cookies. Kein Tracking, keine Werbung.