Im Rahmen der Entwicklung eines Systems zur algorithmischen Personalplanung übernahm der Mitarbeiter die vollständige Implementierung des ASP.NET Backends. Zentrale Anforderung war die automatisierte und wiederkehrende Durchführung komplexer Optimierungsläufe zur Ressourcenzuweisung im projektbasierten Umfeld eines B2B-Consulting-Kunden.
Dabei wurde das Backend so entworfen, dass es skalierbar, modular und wartbar ist ? mit besonderem Fokus auf die Entkopplung der Optimierungslogik von zeitgesteuerten Ausführungsprozessen. Zur Umsetzung dieses Scheduling-Mechanismus wurde das bewährte Framework Quartz.NET integriert. Dieses ermöglichte die präzise Steuerung wiederkehrender Aufgaben wie:
- Periodische Ausführung von Optimierungsläufen (z.?B. nachts oder stündlich)
- Triggerbasierte Prozesse bei Änderungen der Projektlage
- Verwaltung von Ad-hoc- und Cron-basierten Tasks
Ein wesentlicher Bestandteil des Projekts war zudem die Entwicklung umfangreicher RESTful API-Schnittstellen, um eine reibungslose Kommunikation mit dem Frontend sicherzustellen. Diese Schnittstellen ermöglichten unter anderem folgende Funktionen:
- Beraterprofil-Komponente: Zugriff auf strukturierte Beraterdaten wie Verfügbarkeit, Skills, Erfahrungen, Projektzuweisungen und Optimierungsvorschläge.
- Staffing-Dashboard: Übersicht über Projektbedarfe, aktuelle Ressourcenzuweisungen, Planungsstatus und automatische Handlungsempfehlungen aus der Optimierung.
- Bearbeitungsseite: Interaktive Oberfläche zur manuell unterstützten Zuweisung oder Priorisierung von Mitarbeitenden durch Fachabteilungen ? mit bidirektionaler Synchronisation zum Optimierungskern.
- Mitarbeitersuche: Funktion zur filterbaren und gewichteten Suche nach Skills, Erfahrungsjahren, Rollen und Zertifikaten, einschließlich Vorschlagslogik aus der Datenbank.
Alle Endpunkte wurden REST-konform entwickelt, mit OpenAPI/Swagger dokumentiert und auf Performanz, Sicherheit (z.?B. Authentifizierung, Validierung) und Wartbarkeit optimiert.
Durch übersichtliche Task-Definitionen, Dependency Injection, ein strukturiertes Logging-Konzept und die konsequente Trennung von Concerns wurde ein hochgradig zuverlässiges, erweiterbares und frontendnah integriertes Backend realisiert. Die Kombination aus Quartz.NET und ASP.NET stellte sicher, dass auch unter hoher Last stabile Ausführungszeiten und Wiederholgenauigkeit gegeben waren.
Zur Sicherstellung der funktionalen und strukturellen Qualität wurde eine mehrschichtige Teststrategie implementiert, bestehend aus Unit Tests, Integrationstests und End-to-End-Tests:
- Unit Tests wurden mit xUnit in Kombination mit Moq entwickelt, um isolierte Komponenten wie Services, Controller und Logikschichten automatisiert zu prüfen.
- Für Integrationstests kamen In-Memory-Datenbanken sowie testweise hochgefahrene REST-Endpunkte zum Einsatz, um reale Abläufe wie Datenpersistenz und API-Verhalten abzusichern.
- End-to-End-Tests wurden zur Validierung der Gesamtsystemfunktionalität insbesondere in Kombination mit der Benutzeroberfläche konzipiert.
- Zusätzlich wurden automatisierte Tests über CI/CD-Pipelines in GitLab integriert, sodass Builds und Releases stets qualitätsgesichert erfolgen konnten.
Durch Testabdeckung kritischer Pfade, Validierung von Nebenbedingungen und gezieltes Fehlermanagement wurde die langfristige Wartbarkeit und Erweiterbarkeit des Systems nachhaltig gesichert.