Projekt
EkoZapis
Ein öffentliches Register für Umweltprobleme in Kroatien — Verschmutzung mit Fotobelegen melden, öffentlich verfolgen, was mit der Meldung geschehen ist, und gelöste Fälle auf einer Karte sehen.
Kunde / Branche
Umweltschutz und öffentliche Dienste — eigenes Produkt, V1 ausgeliefert.
Plattform
Öffentliches Register mit Karte, Meldeformular mit Anhängen und Moderationsoberfläche — REST-API und Webanwendung.
Rolle
Produktverantwortung + Full-Stack-Entwicklung (Domänenmodell, API, Oberfläche, Deployment).
Problem
Die Meldung einer wilden Deponie oder einer Einleitung in ein Gewässer landet in einer E-Mail oder einem Telefonat und verliert sich dort — die meldende Person erfährt nie, ob etwas unternommen wurde, und die Öffentlichkeit sieht nicht, wie viele Fälle offen und wie viele gelöst sind. Zugleich ist ein Foto als Beweis heikel: Es trägt EXIF-Daten mit genauem Standort und Gerät, und wer meldet, möchte oft nicht namentlich genannt werden. Gebraucht wurde ein Register, das öffentlich ist, ohne die meldende Person oder ungewollt geteilte Daten preiszugeben.
Lösung
EkoZapis führt einen Fall von der Meldung bis zum Ergebnis und hält diesen Weg durchgehend sichtbar. Gemeldet wird anonym oder mit Konto, jede Statusänderung verlangt eine schriftliche Begründung, und alles Veröffentlichte durchläuft eine Verarbeitung, die entfernt, was nicht öffentlich sein muss.
- Meldung mit Belegen — anonym oder mit Konto. Anonym Meldende erhalten einen Zugangscode, um ihren Fall später zu verfolgen und zu ergänzen, ganz ohne Konto.
- Verarbeitung der Anhänge — Originale bleiben privat und sind nur über einen signierten, zeitlich begrenzten Link abrufbar; öffentlich gezeigt werden Ableitungen ohne EXIF-Daten.
- Öffentliches Register und Karte — Filter nach Kategorie, Status und Gebiet, Cluster-Marker und eine eigene Ansicht gelöster Fälle.
- Moderation mit Nachweis — verpflichtende Begründung bei jeder Entscheidung, Fall-Zeitleiste und Audit-Log; über Änderungen wird per E-Mail informiert.
Technologien
PHP 8.4, Symfony 8.1, API Platform 4.2, Doctrine ORM 3, MySQL 8.4, React 19 + TypeScript, Vite, Leaflet, Docker.
Ergebnisse
300
automatisierte Tests bestehen, statische Analyse ohne Befund, 72,8 % Zeilenabdeckung.
V1
MVP vollständig ausgeliefert — alle 18 User Stories, von der Fallmeldung über die Moderation bis zum öffentlichen Register.
ohne EXIF
öffentliche Fotos enthalten keine Standort- oder Gerätedaten; Originale sind nur über einen signierten, befristeten Link erreichbar.