Umbenennung presseportale → pressekonto in Domains, Themes und Dokumentation. Design-Tokens, Portal-Shell, Customer-Dashboard, Auth- und Admin-PM-Views. Artisan-Befehl migrate:legacy-media mit Tests und Hub-Flux-Entwicklungsdocs. Co-authored-by: Cursor <cursoragent@cursor.com>
343 lines
9.8 KiB
Markdown
343 lines
9.8 KiB
Markdown
# Backend-Status: pressekonto.test
|
|
|
|
**Projekt:** BusinessPortal24 → Laravel 12 Migration
|
|
**Domain:** pressekonto.test
|
|
**Stand:** 23. Januar 2026 nach Server-Neustart
|
|
**Status:** 🟡 Admin-UI-Gerüst vorhanden, Routing auf bestehende Volt-Komponenten konsolidiert
|
|
|
|
---
|
|
|
|
## ✅ Weitgehend implementiert (Gerüst)
|
|
|
|
### 📐 Struktur & Navigation
|
|
|
|
#### 1. Sidebar-Navigation (`components/layouts/app/sidebar.blade.php`)
|
|
- ✅ Dashboard
|
|
- ✅ Content-Bereich (Pressemitteilungen, Kategorien)
|
|
- ✅ CRM-Bereich (Firmen, Kontakte)
|
|
- ✅ Billing-Bereich (Rechnungen, Zahlungen, Gutscheine)
|
|
- ✅ Administration-Bereich (Benutzer, Rollen & Rechte)
|
|
- ✅ System-Bereich (Scheduler, Newsletter, Einstellungen)
|
|
|
|
#### 2. Routing (`routes/admin.php`)
|
|
- ✅ **24 Admin-Routes** definiert (nur bestehende Volt-Ziele)
|
|
- ✅ Alle aktiven Bereiche technisch konsistent
|
|
- ✅ RESTful Namenskonvention
|
|
|
|
---
|
|
|
|
## 📄 Erstellte Views (17 Admin-Views)
|
|
|
|
```
|
|
resources/views/admin/
|
|
├── dashboard.blade.php ✅ (bereits vorhanden)
|
|
├── README.md ✅
|
|
├── FLUX_COMPONENTS.md ✅
|
|
├── categories/
|
|
│ └── index.blade.php ✅
|
|
├── companies/
|
|
│ ├── index.blade.php ✅
|
|
│ ├── create.blade.php ✅
|
|
│ ├── show.blade.php ✅
|
|
│ └── edit.blade.php ✅
|
|
├── contacts/
|
|
│ └── index.blade.php ✅
|
|
├── coupons/
|
|
│ └── index.blade.php ✅
|
|
├── invoices/
|
|
│ └── index.blade.php ✅
|
|
├── payments/
|
|
│ └── index.blade.php ✅
|
|
├── press-releases/
|
|
│ ├── index.blade.php ✅
|
|
│ ├── create.blade.php ✅
|
|
│ ├── show.blade.php ✅
|
|
│ └── edit.blade.php ✅
|
|
└── roles/
|
|
├── index.blade.php ✅
|
|
├── create.blade.php ✅
|
|
└── edit.blade.php ✅
|
|
```
|
|
|
|
---
|
|
|
|
## 🎨 Livewire-Komponenten (16 Komponenten)
|
|
|
|
```
|
|
resources/views/livewire/admin/
|
|
├── users.blade.php ✅ (bereits vorhanden)
|
|
├── users/
|
|
│ └── table.blade.php ✅ (bereits vorhanden)
|
|
├── categories/
|
|
│ └── index.blade.php ✅
|
|
├── companies/
|
|
│ ├── index.blade.php ✅
|
|
│ ├── create.blade.php ✅
|
|
│ ├── show.blade.php ✅
|
|
│ └── edit.blade.php ✅
|
|
├── contacts/
|
|
│ └── index.blade.php ✅
|
|
├── coupons/
|
|
│ └── index.blade.php ✅
|
|
├── invoices/
|
|
│ └── index.blade.php ✅
|
|
├── payments/
|
|
│ └── index.blade.php ✅
|
|
├── press-releases/
|
|
│ ├── index.blade.php ✅
|
|
│ ├── create.blade.php ✅
|
|
│ ├── show.blade.php ✅
|
|
│ └── edit.blade.php ✅
|
|
└── roles/
|
|
├── index.blade.php ✅
|
|
├── create.blade.php ✅
|
|
└── edit.blade.php ✅
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Features der erstellten Views
|
|
|
|
### 📰 Pressemitteilungen (komplett)
|
|
- ✅ **Index:** Volltext-Suche, Status-/Sprachfilter, Statistiken, Sortierung
|
|
- ✅ **Create:** Vollständiges Formular (Titel, Content, Kategorien, SEO, Medien)
|
|
- ✅ **Show:** Detailansicht mit Metadaten, verwandten Artikeln
|
|
- ✅ **Edit:** Bearbeitungsmaske mit allen Feldern
|
|
|
|
**Features:**
|
|
- Multi-Kategorie-Auswahl (Checkboxen)
|
|
- Image-Upload mit Vorschau
|
|
- SEO-Felder (Meta Title, Description, Keywords)
|
|
- Status-Verwaltung (Draft, Published, Archived)
|
|
- Veröffentlichungsdatum
|
|
|
|
---
|
|
|
|
### 🏢 Firmen (komplett)
|
|
- ✅ **Index:** Suche, Aktiv/Inaktiv-Filter, Statistiken
|
|
- ✅ **Create:** Firmendaten, Adresse, rechtliche Infos, Logo-Upload
|
|
- ✅ **Show:** Übersicht mit Kontakten, PMs, Rechnungen
|
|
- ✅ **Edit:** Vollständige Bearbeitungsmaske
|
|
|
|
**Features:**
|
|
- Logo-Upload mit Vorschau
|
|
- Adress-Verwaltung (Straße, PLZ, Stadt, Land)
|
|
- Rechtliche Daten (Steuernummer, Handelsregister)
|
|
- Status-Management (Verifiziert, Aktiv/Inaktiv)
|
|
- Verknüpfung zu Kontakten und PMs
|
|
|
|
---
|
|
|
|
### 💳 Rechnungen
|
|
- ✅ **Index:** Status-Filter, Finanz-Statistiken, Mahnwesen
|
|
|
|
**Features:**
|
|
- Überfälligkeits-Anzeige (farblich hervorgehoben)
|
|
- PDF-Download-Button (vorbereitet)
|
|
- Mahnung-Button für überfällige Rechnungen
|
|
- Gesamtumsatz, Bezahlt, Offen-Statistiken
|
|
|
|
---
|
|
|
|
### 💰 Zahlungen
|
|
- ✅ **Index:** Status-/Methoden-Filter, Transaktions-IDs, Statistiken
|
|
|
|
**Features:**
|
|
- Stripe/Rechnung-Unterscheidung
|
|
- Status-Badges (Erfolgreich, Ausstehend, Fehlgeschlagen)
|
|
- Transaktions-ID-Anzeige
|
|
- Retry-Button für fehlgeschlagene Zahlungen
|
|
|
|
---
|
|
|
|
### 👥 Kontakte
|
|
- ✅ **Index:** Suche, Firmen-Filter, Kontaktdetails
|
|
|
|
**Features:**
|
|
- Zuordnung zu Firmen
|
|
- Mailto-Links
|
|
- Position/Verantwortlichkeit
|
|
- Statistiken (Durchschnitt pro Firma)
|
|
|
|
---
|
|
|
|
### 🏷️ Kategorien
|
|
- ✅ **Index:** Grid-Ansicht, Mehrsprachigkeit (DE/EN)
|
|
|
|
**Features:**
|
|
- Karten-Layout statt Tabelle
|
|
- Zuordnung zu Pressemitteilungen
|
|
- Slug-Anzeige
|
|
- Dropdown-Menü mit Aktionen
|
|
|
|
---
|
|
|
|
### 🎟️ Gutscheine
|
|
- ✅ **Index:** Status-Filter, Verwendungsstatistiken
|
|
|
|
**Features:**
|
|
- Verwendungsfortschritt (Balken)
|
|
- Prozent- vs. Festbetrag-Rabatte
|
|
- Gültigkeitsprüfung
|
|
- Copy-Button für Code
|
|
|
|
---
|
|
|
|
### 🛡️ Rollen & Rechte (komplett)
|
|
- ✅ **Index:** Tab-basiert (Rollen/Berechtigungen)
|
|
- ✅ **Create:** Rollen-Erstellung mit Berechtigungsauswahl
|
|
- ✅ **Edit:** Bearbeitung mit System-Rollen-Warnung
|
|
|
|
**Features:**
|
|
- Gruppierte Berechtigungen
|
|
- Farb-Badges für Rollen
|
|
- Benutzer-/Berechtigungszähler
|
|
- Multi-Select für Permissions
|
|
|
|
---
|
|
|
|
## 🎨 Design-System
|
|
|
|
### Flux UI v2 (korrekte Syntax)
|
|
- ✅ `<flux:table.columns>` / `<flux:table.column>`
|
|
- ✅ `<flux:table.rows>` / `<flux:table.row>` / `<flux:table.cell>`
|
|
- ✅ Alle Komponenten dokumentiert in `FLUX_COMPONENTS.md`
|
|
|
|
### Konsistentes Design
|
|
- ✅ Statistik-Cards überall
|
|
- ✅ Einheitliche Filter-Bars
|
|
- ✅ Empty States mit Icons
|
|
- ✅ Status-Badges mit Farben
|
|
- ✅ Responsive Grid-Layouts
|
|
- ✅ Dark Mode Support
|
|
|
|
---
|
|
|
|
## 📊 Statistiken
|
|
|
|
### Dateien erstellt: **33**
|
|
- 17 Admin-Views
|
|
- 16 Livewire-Komponenten
|
|
|
|
### Bereiche abgedeckt: **7**
|
|
1. ✅ Content Management (Press Releases, Categories)
|
|
2. ✅ CRM (Companies, Contacts)
|
|
3. ✅ Billing (Invoices, Payments, Coupons)
|
|
4. ✅ Administration (Users, Roles)
|
|
5. ✅ Dashboard
|
|
6. ⏳ System (Scheduler, Newsletter, Settings) - TODO
|
|
7. ⏳ User Settings - bereits vorhanden
|
|
|
|
### Routes definiert: **24**
|
|
- Alle aktiven Bereiche konsistent geroutet
|
|
|
|
---
|
|
|
|
## ⏳ Noch zu erstellen (optional)
|
|
|
|
### System-Bereich
|
|
- ⏳ Scheduler Jobs Index
|
|
- ⏳ Newsletter Management (Index, Subscribers, Campaigns)
|
|
- ⏳ System-Einstellungen
|
|
|
|
### Detail-Views für einige Bereiche
|
|
- ⏳ Invoice Show (Detail mit PDF)
|
|
- ⏳ Payment Show (Transaktionsdetails)
|
|
- ⏳ Contact Create/Edit (Formular)
|
|
- ⏳ Category Create/Edit (Formular)
|
|
- ⏳ Coupon Create/Edit (Formular)
|
|
|
|
### Nicht aktive Bereiche (noch ohne Route)
|
|
- ⏳ Kategorien: Create/Edit
|
|
- ⏳ Kontakte: Create/Edit
|
|
- ⏳ Rechnungen: Show
|
|
- ⏳ Zahlungen: Show
|
|
- ⏳ Gutscheine: Create/Edit
|
|
- ⏳ Benutzer: Create/Edit
|
|
- ⏳ System: Scheduler, Newsletter, Einstellungen
|
|
|
|
---
|
|
|
|
## 🔄 Nächste Schritte
|
|
|
|
### Option 1: Migrations-Projekt starten 🔴 (Empfohlen)
|
|
Beginne mit der eigentlichen Migration gemäß:
|
|
- `/var/www/html/_businessportal24.com/dev/migration/CHECKLIST.md`
|
|
- Phase 1: Laravel-Setup, Packages, DB-Verbindung
|
|
- Phase 2: Domain Models erstellen
|
|
- Phase 3: Services implementieren
|
|
|
|
### Option 2: Fehlende System-Views erstellen 🟡
|
|
- Scheduler Jobs Management
|
|
- Newsletter Management
|
|
- System-Einstellungen
|
|
|
|
### Option 3: Backend testen 🟢
|
|
- Dev-Server starten (`npm run dev`)
|
|
- Backend öffnen (`http://pressekonto.test/admin/press-releases`)
|
|
- UI und Navigation prüfen
|
|
|
|
### Option 4: Dummy-Daten verfeinern 🟢
|
|
- Mehr realistische Test-Daten
|
|
- Pagination implementieren
|
|
- Filter-Logik verbessern
|
|
|
|
---
|
|
|
|
## 🧪 Testen des Backends
|
|
|
|
```bash
|
|
# Dev-Server starten (Terminal 1)
|
|
npm run dev:portal
|
|
|
|
# Laravel-Server starten (Terminal 2)
|
|
php artisan serve
|
|
|
|
# Backend öffnen
|
|
http://pressekonto.test/admin/press-releases
|
|
http://pressekonto.test/admin/companies
|
|
http://pressekonto.test/admin/invoices
|
|
http://pressekonto.test/admin/contacts
|
|
http://pressekonto.test/admin/payments
|
|
http://pressekonto.test/admin/categories
|
|
http://pressekonto.test/admin/coupons
|
|
http://pressekonto.test/admin/roles
|
|
```
|
|
|
|
---
|
|
|
|
## 📚 Dokumentation
|
|
|
|
### Erstellt
|
|
- ✅ `resources/views/admin/README.md` - Ordnerübersicht
|
|
- ✅ `resources/views/admin/FLUX_COMPONENTS.md` - Flux v2 Referenz
|
|
- ✅ `routes/ADMIN_ROUTES.md` - Route-Dokumentation
|
|
- ✅ `resources/views/admin/BACKEND_STATUS.md` - Dieser Status
|
|
|
|
### Migrations-Dokumentation
|
|
- `/var/www/html/_businessportal24.com/dev/migration/`
|
|
- `CHECKLIST.md` - 127 Migrations-Aufgaben
|
|
- `PROGRESS.md` - Verlaufsprotokoll
|
|
- `IMPLEMENTATION.md` - Schritt-für-Schritt
|
|
- `API-MIGRATION.md` - API-Details
|
|
- `DATA-MIGRATION.md` - Datenbank-Migration
|
|
- `TESTING.md` - Test-Strategie
|
|
|
|
---
|
|
|
|
## 🎉 Meilenstein erreicht!
|
|
|
|
**Backend-Struktur für pressekonto.test ist als Gerüst weitgehend vorbereitet.**
|
|
|
|
- ✅ 7 Hauptbereiche mit Navigation
|
|
- ✅ 24 Routes definiert (konsistent gemappt)
|
|
- ✅ 33 Views/Komponenten erstellt
|
|
- ✅ Flux UI v2 korrekte Syntax
|
|
- ✅ Responsive & Dark Mode
|
|
- ✅ Vorbereitet für echte Daten
|
|
|
|
**Bereit für die nächste Phase: Migration der Symfony-Daten und Model-Implementation!**
|
|
|
|
---
|
|
|
|
**Letztes Update:** 23. Januar 2026 (nach Server-Neustart)
|