No description
Find a file
Kevin Adametz 8df6b9e3a9 companies: Trockenlauf zur Newsroom-Konsolidierung (Roadmap 1a.1)
Schreibt nichts. Der Bericht steht vor 1a.2 und 1a.3, weil für die rückwirkende
Zusammenführung im Altbestand das Portal die Verantwortung trägt — dort wird
nicht angelegt, sondern verschmolzen, und das ist nicht folgenlos umkehrbar.

Geschlüsselt wird über die FIRMEN-E-Mail, nicht über die Pressekontaktadresse:
Der Pressekontakt ist der Firma untergeordnet und wechselt, die Firmenidentität
darf nicht an einer Person hängen.

Der Bericht führt fünf Klassen statt der drei Signale aus dem Regelwerk. Zwei
Ergänzungen, die aus den Daten kommen:

Erstens die Namensvariante. "Hoppe Unternehmensberatung" und "Hoppe
Unternehmensberatung GmbH" sind dieselbe Firma; ein Vergleich auf Gleichheit
würde sie trennen. Die Namen werden deshalb normalisiert — Kleinschreibung,
Umlaute aufgelöst, Rechtsform und Satzzeichen entfernt. Das ist der Fall
"gleicher ODER ÄHNLICHER Firmenname" aus dem Regelwerk.

Zweitens, und wichtiger: Adressen, die viele Namen tragen und unter denen NIE
etwas veröffentlicht wurde. Im Bestand sind das 23 Adressen mit 5965 Firmen,
angeführt von yahoo@yahoo.com mit 4376. Dahinter steht keine Firma und keine
Agentur. Würde über sie zusammengeführt, verschmölzen tausende unbeteiligte
Firmen zu einem Newsroom — der teuerste denkbare Fehler dieses Blocks.

Die Namensanzahl allein trennt diese Adressen NICHT von einer großen Agentur:
pr@deutsche-stadtauskunft.ag trägt 133 Namen und hat 134 Firmen mit
veröffentlichten Meldungen. Trennscharf ist erst die Veröffentlichung.

Der Schwellwert für Sammeladressen ist ein Parameter, kein fester Wert — E1
soll an Zahlen entschieden werden, nicht an einem Gefühl.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 10:55:15 +00:00
.agents/skills 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
.codex 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
.devcontainer 22-05-2026 Optimierung der User und Admin Panels 2026-05-22 11:18:59 +02:00
.github/workflows technik: Statische Analyse wieder aussagekräftig machen 2026-09-01 11:07:51 +00:00
_docs create PM v0.5 2026-05-20 19:14:39 +02:00
app companies: Trockenlauf zur Newsroom-Konsolidierung (Roadmap 1a.1) 2026-09-04 10:55:15 +00:00
bootstrap conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
config conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
database conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
dev conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
docs recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
lang api: Ziel-Portal einer Einreichung explizit auflösen statt vom Konto erben 2026-09-01 11:06:58 +00:00
public api: Ziel-Portal einer Einreichung explizit auflösen statt vom Konto erben 2026-09-01 11:06:58 +00:00
resources mail: Anrede an den tatsächlichen Empfänger binden 2026-09-01 11:07:23 +00:00
routes conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
storage/debugbar first commit 2025-10-20 17:53:02 +02:00
tests companies: Trockenlauf zur Newsroom-Konsolidierung (Roadmap 1a.1) 2026-09-04 10:55:15 +00:00
.cursorrules 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
.editorconfig first commit 2025-10-20 17:53:02 +02:00
.env.example conversion: Konversionsleiter mit Herkunft auf dem Magic-Link-Token (Block 0) 2026-09-01 13:12:12 +00:00
.gitattributes first commit 2025-10-20 17:53:02 +02:00
.gitignore newsletter: Unzustellbare Adressen aus beiden Empfängerlisten nehmen 2026-09-01 11:07:11 +00:00
.mcp.json 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
AGENTS.md 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
artisan first commit 2025-10-20 17:53:02 +02:00
boost.json 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
CLAUDE.md technik: Volltext-Indizes von press_releases in eine eigene Suchtabelle auslagern 2026-09-01 11:04:43 +00:00
composer.json Dev-Stack: Queue-Worker lauscht auch auf der classification-Queue 2026-07-10 11:50:34 +00:00
composer.lock deps: Sicherheits-Updates (Framework/Symfony/Guzzle) einspielen (H6) 2026-07-14 13:47:07 +00:00
docker-compose.yml Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n 2026-07-09 15:38:11 +00:00
package-lock.json first commit 2025-10-20 17:53:02 +02:00
package.json Multi-Domain-Asset-Infrastruktur: geteilte Vite-Konfiguration und DomainAssetContext 2026-06-12 08:16:09 +00:00
phpstan-baseline.neon technik: Statische Analyse wieder aussagekräftig machen 2026-09-01 11:07:51 +00:00
phpstan.neon technik: Statische Analyse wieder aussagekräftig machen 2026-09-01 11:07:51 +00:00
phpunit.xml Veroeffentlichungs-Gate: proaktive Buchungs-Meldung + Schalter test-stabil 2026-06-17 15:32:07 +00:00
pint.json 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Readme.md 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
setup-new-asset-urls.sh 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
tailwind.portal.config.js Multi-Domain-Asset-Infrastruktur: geteilte Vite-Konfiguration und DomainAssetContext 2026-06-12 08:16:09 +00:00
tailwind.web.config.js 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
vite 13-05-2026 Frontend DEV + HUB 2026-05-13 18:11:03 +02:00
vite.config.js 19-05-2026 Rebrand Pressekonto, Hub-Flux UI und Legacy-Media-Migration 2026-05-19 16:36:13 +00:00
vite.portal.config.js Multi-Domain-Asset-Infrastruktur: geteilte Vite-Konfiguration und DomainAssetContext 2026-06-12 08:16:09 +00:00
vite.shared.js Multi-Domain-Asset-Infrastruktur: geteilte Vite-Konfiguration und DomainAssetContext 2026-06-12 08:16:09 +00:00
vite.web.config.js Multi-Domain-Asset-Infrastruktur: geteilte Vite-Konfiguration und DomainAssetContext 2026-06-12 08:16:09 +00:00

Multi-Domain Laravel-Anwendung

Übersicht

Diese Laravel-Anwendung unterstützt verschiedene Domains mit unterschiedlichen Styles:

Installation

  1. Repository klonen
  2. Abhängigkeiten installieren:
    composer install
    npm install
    
  3. Umgebungsvariablen konfigurieren (siehe .env.example und DOMAINS-CONFIG.md)
  4. Laravel-Anwendung initialisieren:
    php artisan key:generate
    php artisan migrate
    
  5. Assets kompilieren:
    npm run build
    npm run build:admin
    npm run build:web
    

Domain-Konfiguration

Die Domains werden über die .env-Datei konfiguriert. Für detaillierte Anweisungen siehe DOMAINS-CONFIG.md.

Lokaler Entwicklungsserver

php artisan serve

Asset-Kompilierung

Diese Anwendung verwendet Vite mit verschiedenen Konfigurationen:

  • Hauptkompilierung: npm run dev oder npm run build
  • Admin-Assets: npm run build:admin
  • Web-Assets: npm run build:web

Domain-Simulation

Während der Entwicklung können Domains simuliert werden, ohne die Hosts-Datei zu bearbeiten:

  1. In der .env-Datei: DEV_SIMULATE_DOMAIN=true
  2. Gewünschte Domain angeben: DEV_SIMULATED_DOMAIN=landing1.local

Favicons

Um Platzhalter-Favicons für alle konfigurierten Domains zu generieren:

php artisan domains:generate-favicons