Case Study
Internes Intranet-Portal für einen Fertigungsbetrieb
Eine zentrale, webbasierte Plattform, die zahlreiche betriebliche Abläufe eines mittelständischen Industrieunternehmens bündelt – von der ERP-Auswertung über Personal- und Kapazitätsplanung bis hin zu Drucker-, Fuhrpark- und Zeugnisverwaltung. Ich habe die Anwendung eigenständig konzipiert, entwickelt und betreibe sie produktiv.
Tech-Stack
- Backend: PHP 8.2+, Symfony 7.4 (Security, Messenger, Scheduler, Notifier, LDAP, Mailer)
- Frontend: Twig, Tailwind CSS, Symfony UX / Stimulus (Turbo, Chart.js) – rund 60 Stimulus-Controller
- Datenzugriff: Doctrine DBAL mit mehreren parallelen Verbindungen zu Bestandssystemen
- Authentifizierung: Active Directory / LDAP (eigener User-Provider, SSO)
- Async: Symfony Messenger + Redis + Scheduler
- Dokumente: mPDF, TCPDF, FPDI, Browsershot (PDF); PhpSpreadsheet (Excel)
Herausforderungen & Lösungen
1. Anbindung mehrerer gewachsener Datenbanken
Die Daten lagen in verschiedenen Bestandssystemen (u. a. einem ERP). Statt eines klassischen ORM-Modells setze ich gezielt auf Doctrine DBAL mit mehreren Verbindungen und handoptimierten SQL-Abfragen – so lassen sich Fremdsysteme lesend auswerten, ohne deren Schemata zu gefährden.
2. Zentrale Authentifizierung über das Firmen-AD
Anwender sollen sich nicht erneut registrieren. Ich habe einen eigenen LDAP-User-Provider gebaut, der gegen das Active Directory authentifiziert und Rollen ausliest. Darauf setzt ein modulares Berechtigungssystem auf, das jedes Funktionsmodul einzeln freischaltet.
3. Lang laufende Aufgaben blockieren die UI nicht
Große Excel-Exporte, Drucker-Status-Abfragen, automatische Warn-Mails und Aufräum-Jobs laufen asynchron über Symfony Messenger (Redis) und werden teils über den Scheduler zeitgesteuert. Die Oberfläche bleibt reaktionsschnell.
4. Dokumentengenerierung in vielen Formaten
Etiketten, Zeugnisse und Auswertungen müssen druckfertig erzeugt werden. Ich kombiniere mehrere PDF-Engines je nach Anforderung und liefere ERP-Auswertungen zusätzlich als Excel aus.
Meine Rolle
Ich bin alleiniger Entwickler und Maintainer: Architektur, Backend, Frontend, Datenbank-Anbindung, Deployment und laufender Betrieb liegen vollständig bei mir. Die Anwendung wird produktiv genutzt und kontinuierlich um neue Module erweitert.
Ergebnis
Eine produktiv eingesetzte Plattform mit über 25 fachlichen Modulen. Verstreute manuelle Abläufe und Insellösungen wurden durch einen zentralen, AD-integrierten Zugangspunkt ersetzt – wartbar, erweiterbar und auf einem modernen Symfony-Stack aufgebaut.