Pest Control SaaS: Enterprise-Architektur für die Schädlingsbekämpfungsbranche.

Ein Multi-Tenant SaaS-System, das Kundenverwaltung, Einsatzplanung, Vor-Ort-Dokumentation und rechtskonforme Berichterstattung in einer Plattform vereint. Gebaut mit Hexagonaler Architektur, Domain-Driven Design und einer Offline-fähigen PWA für Techniker im Feld.

6Bounded ContextsDomain-Driven Design
27API-RoutenVollständige REST-API
0Architektur-VerletzungenDeptrac-enforced
100%Architektur-ComplianceHexagonal + DDD
PWAOffline-fahigIndexedDB + Service Worker
EUBiozid-Verordnung528/2012 konform
Illustration: vernetzte Sechseck-Module einer Software-Architektur mit Smartphone im Vordergrund

Sechs Bounded Contexts, sauber getrennt, plus Offline-PWA für die Techniker.

Das Problem

Schädlingsbekämpfer in Deutschland arbeiten mit einem Flickwerk aus Tools: Kundendaten in Excel, Einsatzplane per WhatsApp, Fotos auf dem Handy, Berichte in Word-Vorlagen. Jeder Einsatz erzeugt Papierkram, der manuell zusammengeführt werden muss: zeitaufwändig, fehleranfällig und nicht rechtskonform.

Die EU-Biozid-Verordnung (528/2012) schreibt vor, dass bei jedem Einsatz detailliert dokumentiert wird: Auftraggeber, Einsatzort, Datum und Uhrzeit, Schädlingsart, Befallsgrad, Maßnahmen, eingesetzte Mittel und Unterschrift. Ein vergessenes Feld kann rechtliche Konsequenzen haben.

Die Lösung: Ein System für alles

Architektur: Hexagonal + Domain-Driven Design

Die Plattform wurde von Grund auf als Enterprise-System entworfen, nicht als aufgeblähtes CRUD-Tool. Die Architektur folgt dem Hexagonalen Muster mit striktem Domain-Driven Design:

Domain Layer

Reines PHP ohne Framework-Abhängigkeiten. Entities, Value Objects, Domain Services, Events und Exceptions. Null Abhängigkeiten zu anderen Schichten.

Application Layer

Use Cases und Orchestrierung: Commands (CreateJob, CompleteJob), Queries (GetJobList, GetTodayJobs), DTOs. Darf nur auf Domain zugreifen.

Infrastructure Layer

Controller, Eloquent Models, Provider, Console Commands. Darf auf Application und Domain zugreifen, aber nie umgekehrt.

Deptrac Enforcement

Schichtgrenzen werden durch Deptrac automatisch geprüft. Eine Verletzung = Build bricht ab. 0 Verletzungen in der gesamten Codebasis.

6 Bounded Contexts

Die Fachdomäne ist in sechs klar getrennte Module aufgeteilt, jedes mit eigenem Verantwortungsbereich:

Identity & Access

Benutzer, Rollen (Admin, Techniker), Authentifizierung. Session-basiert mit HTTP-only Cookies.

CRM

Kunden, Kontakte, Standorte. Soft Delete für Audit-Trail. Vollständiges CRUD mit Pagination.

Scheduling

Einsatzplanung, Techniker-Zuweisung, Status-Lifecycle: geplant → in Bearbeitung → abgeschlossen → berichtet → fakturiert.

Field Operations

Vor-Ort-Dokumentation: Fotos, Beobachtungen, Befallsgrad, digitale Unterschrift mit Geolocation.

Reporting

PDF-Generierung mit allen Pflichtangaben nach EU-Biozid-Verordnung. Vorschau, Download, Archivierung.

Messaging

E-Mail-Versand über AWS SES. Queued, nie direkt vom Client. Vollständiges E-Mail-Log.

Multi-Tenancy & Datenisolierung

Jede Entität trägt eine tenant_id. Der Tenant wird aus der authentifizierten Benutzersitzung aufgelöst. Alle Repository-Methoden filtern automatisch nach Tenant, mit globalen Eloquent Scopes als letzte Sicherheitsschicht. Tests prüfen die Tenant-Isolierung explizit.

Offline-PWA für Techniker

Techniker arbeiten in Kellern, Lagerhallen und Aussenanlagen, oft ohne stabiles Internet. Die Progressive Web App speichert Einsatzdaten lokal in IndexedDB und synchronisiert automatisch, sobald die Verbindung wiederhergestellt wird. Ein Sync-Status-Indikator zeigt dem Techniker jederzeit den aktuellen Zustand.

Der Techniker-Workflow im Feld

Der Techniker öffnet die PWA, sieht seine heutigen Einsätze, navigiert zum Kunden (ein Klick auf die Adresse öffnet Google Maps), dokumentiert den Einsatz mit Befallsgrad, Beobachtungen, eingesetzten Mitteln und Fotos, und unterschreibt digital auf dem Gerät. Geolocation wird mit der Unterschrift erfasst. Der Bericht wird automatisch generiert.

Der Tech Stack

Backend

Laravel 12, PHP 8.5, PostgreSQL 18, Redis 8.4. 27 API-Routen, CQRS-Light Pattern, UUID v7 Primary Keys.

Frontend

Next.js 16, React 19, TypeScript, Tailwind CSS. Admin-Dashboard + Techniker-PWA in einem Projekt.

Infrastruktur

Docker Compose, AWS SES (E-Mail-Queue), lokaler Speicher (MVP) mit S3-Option für V1+.

Qualität

PHPUnit mit In-Memory SQLite. Deptrac für Architektur-Compliance. 100% Schicht-Konformität.

Das Wichtigste

Enterprise-Architektur ist kein Overhead, sondern eine Investition. Hexagonales Design mit DDD bedeutet: klare Fachmodule, testbare Geschäftslogik, einfache Erweiterbarkeit. Der Beweis: 0 Architektur-Verletzungen in der gesamten Codebasis, automatisch geprüft vor jedem Commit. Dieses System wächst mit dem Geschäft, nicht dagegen.

Bereit für den nächsten Schritt?

Enterprise-Anwendung oder SaaS-Plattform geplant? Ich entwerfe und baue Systeme, die wachsen: technisch sauber, regulatorisch konform, zukunftsfähig.