Das Problem
Schadlingsbekampfer 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 zusammengefuhrt werden muss — zeitaufwandig, fehleranfallig und nicht rechtskonform.
Die EU-Biozid-Verordnung (528/2012) schreibt vor, dass bei jedem Einsatz detailliert dokumentiert wird: Auftraggeber, Einsatzort, Datum und Uhrzeit, Schadlingsart, Befallsgrad, Massnahmen, eingesetzte Mittel und Unterschrift. Ein vergessenes Feld kann rechtliche Konsequenzen haben.
Die Losung: Ein System fur alles
Architektur: Hexagonal + Domain-Driven Design
Die Plattform wurde von Grund auf als Enterprise-System entworfen — nicht als aufgeblahtes CRUD-Tool. Die Architektur folgt dem Hexagonalen Muster mit striktem Domain-Driven Design:
Domain Layer
Reines PHP ohne Framework-Abhangigkeiten. Entities, Value Objects, Domain Services, Events und Exceptions. Null Abhangigkeiten 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 gepruft. Eine Verletzung = Build bricht ab. 0 Verletzungen in der gesamten Codebasis.
6 Bounded Contexts
Die Fachdomane 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 fur Audit-Trail. Vollstandiges 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 uber AWS SES. Queued, nie direkt vom Client. Vollstandiges E-Mail-Log.
Multi-Tenancy & Datenisolierung
Jede Entitat tragt eine tenant_id. Der Tenant wird aus der authentifizierten Benutzersitzung aufgelost. Alle Repository-Methoden filtern automatisch nach Tenant — mit globalen Eloquent Scopes als letzte Sicherheitsschicht. Tests prufen die Tenant-Isolierung explizit.
Offline-PWA fur 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 offnet die PWA, sieht seine heutigen Einsatze, navigiert zum Kunden (ein Klick auf die Adresse offnet Google Maps), dokumentiert den Einsatz — Befallsgrad, Beobachtungen, eingesetzte Mittel, Fotos — und unterschreibt digital auf dem Gerat. 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 fur V1+.
Qualitat
PHPUnit mit In-Memory SQLite. Deptrac fur Architektur-Compliance. 100% Schicht-Konformitat.
Das Wichtigste
Enterprise-Architektur ist kein Overhead — sie ist eine Investition. Hexagonales Design mit DDD bedeutet: klare Fachmodule, testbare Geschaftslogik, einfache Erweiterbarkeit. Der Beweis: 0 Architektur-Verletzungen in der gesamten Codebasis, automatisch gepruft vor jedem Commit. Dieses System wachst mit dem Geschaft — nicht dagegen.
