23-01-2026

This commit is contained in:
Kevin Adametz 2026-01-23 17:33:10 +01:00
parent 07959c0ba2
commit 854ce02bf6
166 changed files with 32909 additions and 1262 deletions

676
dev/entwicklung.md Normal file
View file

@ -0,0 +1,676 @@
# B2IN - Projekt-Entwicklungsstand
## Projektübersicht
Das B2IN-Projekt ist eine umfassende Multi-Domain-Laravel-Anwendung, die als zentrale Plattform für Partner-Management, Produkt-Verwaltung und Digital Signage dient. Die Anwendung basiert auf Laravel 12, Livewire 3 und Flux UI und bietet ein modernes, rollenbasiertes System für verschiedene Geschäftspartner.
---
## 🎯 Wichtige ToDos
- **System Mails**: Kommen teilweise nicht an (google etc) Probleme mit united domains ...
In der Zukunft benötigen wir einen response bounce etc.
" host gmail-smtp-in.l.google.com[64.233.184.27]
said: 550-5.7.26 Your email has been blocked because the sender is
unauthenticated. "
---
## 🎯 Kern-Technologien
- **Framework**: Laravel 12 mit PHP 8.2+
- **Frontend**: Livewire 3 mit Volt (Single-File Components)
- **UI-Framework**: Flux UI (Pro-Version) mit Tailwind CSS
- **Authentifizierung**: Laravel Fortify mit Sanctum
- **Berechtigungen**: Spatie Laravel-Permission
- **Icons**: Heroicons (Blade-Integration)
- **Entwicklungsumgebung**: Laravel Sail (Docker)
---
## ✅ Entwickelte Module & Funktionen
### 1. Multi-Domain-System
**Status**: ✅ Vollständig implementiert
Das System unterstützt mehrere Domains mit individuellen Themes und Konfigurationen:
- **Admin-Portal** (`portal.b2in.test`) - Verwaltungsbereich für alle Partner-Typen
- **Haupt-Website** (`b2in.test`) - Unternehmenswebsite
- **Landing-Pages** - Individuelle Landing-Pages mit eigenem Branding
- **Domain-spezifische Assets** - Separate CSS/JS-Builds pro Domain
- **Theme-Switching** - Dynamisches Theme-System basierend auf Domain oder GET-Parameter
- **Entwicklungsmodus** - Domain-Simulation für lokale Entwicklung ohne Hosts-Änderung
**Technische Details**:
- Domain-Erkennung über `ThemeServiceProvider`
- Separate Vite-Konfigurationen für Admin und Web
- Dynamische Favicon-Generierung
- Theme-basiertes Routing
---
### 2. Benutzer- & Rollen-Management
**Status**: ✅ Vollständig implementiert
Umfassendes Rollen- und Berechtigungssystem mit folgenden Rollen:
#### Definierte Rollen:
- **Super Admin** - Vollzugriff auf alle Funktionen
- **Admin** - Verwaltung von Partnern und System
- **Retailer (Händler)** - Produktverwaltung, Kundenbetreuung, Liefergebiete
- **Manufacturer (Hersteller)** - Marken- und Produktverwaltung
- **Broker (Makler)** - Lead-Generierung, Provisionen, Kundenanbindung
- **Customer (Endkunde)** - Produktbestellung, Dashboard-Zugriff
#### Berechtigungen:
- Hub-Management (Anzeigen, Erstellen, Bearbeiten, Löschen)
- Partner-Management (Anzeigen, Erstellen, Bearbeiten, Löschen, Provisionen)
- Produkt-Management (Anzeigen, Erstellen, Bearbeiten, Löschen, Miet-Optionen)
- Bestellungs-Management (Anzeigen, Verwalten)
- User-Management (Anzeigen, Verwalten, Rollen zuweisen)
- Dashboard-Zugriff
- Bestellungen aufgeben
#### Spezielle Features:
- **Impersonation** - Admins können sich als andere Benutzer einloggen
- **Soft-Delete** - Benutzer werden anonymisiert statt gelöscht (bei Abhängigkeiten)
- **Rollenbasierte Navigation** - Dynamische Sidebar basierend auf Berechtigungen
- **Display-Namen** - Separate Anzeigenamen für Benutzer
---
### 3. Partner-Management-System
**Status**: ✅ Vollständig implementiert
Komplettes System zur Verwaltung von Geschäftspartnern:
#### Partner-Typen:
- **Retailer** - Händler mit Liefer- und Montageradius
- **Manufacturer** - Hersteller mit Markenverwaltung
- **Broker** - Makler mit Provisionsmodell
- **Customer** - Endkunden
#### Funktionen:
- **Partner-Einladungssystem**:
- E-Mail-Einladungen mit Token-basiertem Zugang
- Konfigurierbare Gültigkeit (1-4 Wochen)
- Status-Tracking (Offen, Verwendet, Abgelaufen)
- Rollenbasierte Einladungen
- Spezielle Status-Seiten für abgelaufene/verwendete Einladungen
- **Partner-Setup-Wizard**:
- Mehrstufiger Onboarding-Prozess
- Rollenspezifische Schritte und Felder
- Logo-Upload (Partner & Marke)
- Adressverwaltung (Straße, PLZ, Stadt, Land)
- Retailer: Liefer- und Montageradius (1-500 km)
- Manufacturer: Markenerstellung mit Logo
- Setup-Status-Tracking (`setup_completed`, `setup_completed_at`)
- Middleware-Schutz für unvollständige Setups
- **Partner-Hierarchie **:
- Parent-Child-Beziehungen (Broker → Kunden)
- Hub-Zuordnung für regionale Partner 🔄 Grundarchitektur vorhanden
- Provisionsmodelle (Festbetrag oder Prozentsatz) 🔄 Grundarchitektur vorhanden
- **Registrierungs-Codes**:
- QR-Code-basierte Registrierung
- Rollenspezifische Landing-Pages (`/reg/{role}`)
- Code-Tracking (Verwendet von, Verwendungsdatum)
- Code-Namen für bessere Organisation
- Zuordnung zu übergeordnetem Partner
---
### 4. Hub-Management
**Status**: 🔄 Grundarchitektur vorhanden
Regionale Hub-Verwaltung:
#### Funktionen:
- Hub-Erstellung und -Verwaltung
- Standortverwaltung (HubLocations)
- Partner-Zuordnung zu Hubs
- Hub-spezifische Dashboard-Ansichten
- Indexseite mit Hub-Übersicht
- Erstellen/Bearbeiten von Hubs
#### Datenstruktur:
- Hub-Stammdaten
- Mehrere Standorte pro Hub
- Partner-Beziehungen
---
### 5. Produkt-Management-System
**Status**: 🔄 Grundarchitektur vorhanden
Umfassendes Produktverwaltungssystem:
#### Features:
- **Produktliste** (`/products`):
- Suchfunktion (Name, Artikelnummer)
- Filter nach Status (Aktiv, Entwurf, Inaktiv)
- Filter nach Kategorie
- Aktive Filter-Anzeige
- Responsive Tabellen-Ansicht
- **Produkt-Erstellung** (`/products/create`):
- Umfangreiches Formular für Produktdaten
- Mehrstufige Eingabe
- Bild-Upload
- Varianten-Verwaltung
#### Datenmodelle:
- **Products** - Hauptprodukte
- **ProductVariants** - Produktvarianten mit Attributen
- **Attributes** - Produkt-Attribute (z.B. Farbe, Größe)
- **AttributeValues** - Attribut-Werte
- **Categories** - Produktkategorien (mehrfach zuweisbar)
- **Tags** - Produkt-Tags
- **Brands** - Marken (Partner-zuweisbar)
- **Collections** - Produkt-Kollektionen
- **TaxRates** - Steuersätze
- **ShippingClasses** - Versandklassen
- **ProductLogistics** - Logistik-Informationen
#### Beziehungen:
- Produkte → Kategorien (N:N)
- Produkte → Tags (N:N)
- Produkte → Verwandte Produkte (N:N)
- Produkte → Marken
- Varianten → Attribute & Werte
---
### 6. Dashboard-System
**Status**: 🔄 Grundarchitektur vorhanden
Rollenbasiertes Dashboard mit individuellen KPIs:
#### Admin-Dashboard:
- Aktive & geplante Hubs
- Partner-Wachstum (Gesamt, Dieser Monat)
- Plattform-Umsatz (Platzhalter)
- System-Status
- Ausstehende Einladungen
- Gesamt-Kunden
#### Retailer-Dashboard:
- Offene Bestellungen
- Monatlicher Umsatz
- Produkt-Aufrufe
- Lagerbestands-Warnungen
- Meine Kunden
#### Manufacturer-Dashboard:
- Marken-Reichweite
- Aktive Produkte
- Entwurfs-Produkte
- Gesamt-Aufrufe
#### Broker-Dashboard:
- Gesamt-Provision
- Ausstehende Auszahlung
- Generierte Leads
- Empfehlungs-Link
- Broker-Kunden
#### Customer-Dashboard:
- Marken-spezifisches Branding
- Top-Angebote
- Broker-Information
- Individuelles Design basierend auf zugewiesenem Broker
---
### 7. Digital Signage / Display-CMS
**Status**: ✅ Vollständig implementiert
Professionelles CMS-System für Digital Signage im Cabinet Showroom Bielefeld:
#### Video-Verwaltung:
- Verwaltung von Video-Playlists
- Reihenfolge-Verwaltung
- Video-Position einstellen (0-100% für optimalen Ausschnitt)
- Videos aktivieren/deaktivieren
- Titel für bessere Organisation
#### Footer-Content mit Tracking:
- Überschrift und Unterzeile
- Optionale Ziel-URL
- **Automatische Short-Link-Generierung** (6-stellige Codes)
- **QR-Code-Generierung** für Short-Links
- **Echtzeit-Klick-Tracking**
- Klick-Statistiken im CMS
- Reihenfolge-Verwaltung (30-Sekunden-Rotation)
- Short-Code neu generieren
- Klick-Zähler zurücksetzen
- Flexibles Layout (mit/ohne URL)
#### Short-Link-System:
- Automatische Code-Generierung (z.B. `c59kjb`)
- Short-URLs: `https://cabinet.b2in.eu/go.php?z=CODE`
- Tracking in Datenbank + Log-Datei
- Weiterleitung zur Original-URL
- Statistik-Dashboard
#### Technische Details:
- API-basierte Konfiguration (`/api/display/config`)
- Standalone Display-Seite (`/_cabinet/`)
- Auto-Reload alle 5 Minuten
- Subdomain-Support (Live: `cabinet.b2in.eu`)
- Test- und Live-Umgebung
- Einheitlicher Pfad für beide Umgebungen
---
### 8. Authentifizierungs-System
**Status**: ✅ Vollständig implementiert
Modernes Auth-System basierend auf Laravel Fortify & Sanctum:
#### Features:
- Login/Logout
- Registrierung
- E-Mail-Verifizierung
- Passwort-Reset
- Passwort-Bestätigung (für sensible Aktionen)
- Two-Factor-Authentication (2FA)
- API-Token-Authentifizierung (Sanctum)
- "Remember Me" Funktionalität
#### Views:
- Login-Seite (Standard & Vereinfacht)
- Registrierungs-Seite
- Passwort-vergessen
- Passwort-zurücksetzen
- E-Mail-Verifizierung
#### Einstellungen:
- Profil-Verwaltung
- Passwort-Änderung
- Erscheinungsbild (Theme-Einstellungen)
- Benutzer löschen/anonymisieren
---
### 9. Website-Frontend
**Status**: ✅ Grundstruktur und Inhalte implementiert
Moderne, responsive Website mit zahlreichen Sections:
#### Implementierte Seiten:
- **Home** - Hauptseite mit Hero-Slider
- **About** - Über uns
- **Ecosystem** - Ökosystem-Darstellung
- **Partner** - Partner-Informationen
- **Portfolio** - Produkt-Portfolio
- **Magazin** - Blog/Magazin mit Detail-Ansichten
- **Contact** - Kontaktformular
- **Service** - Service-Seite
- **FAQ** - Häufig gestellte Fragen
- **Theme-Demo** - Theme-Vorschau
#### Wiederverwendbare Sections:
- Hero (Standard, mit Bild, Slider, Tiles)
- About-Hero
- Benefits-Section
- Brand-Worlds
- Broker-Section
- Card-Section
- Commitment-Section
- Content-Section
- CTA-Section
- Dark-Stats-Section
- Digital-Core
- Ecosystem (Core, Hero, Stats)
- End-Customer-Section
- FAQ
- Final-Commitment
- Leadership-Team
- Magazin (List, Detail)
- Our-Story
- Our-Values
- Partner (Benefits, CTA, Hero, Process)
- Portfolio
- Spotlights-Section
- Supplier-Section
- Vision-Section
#### UI-Komponenten:
- Header mit Navigation
- Footer
- Top-Bar
- Kontaktformular
- Theme-Switcher (für Demos)
---
### 10. E-Mail-System
**Status**: 🔄 Grundarchitektur vorhanden
#### E-Mail-Templates:
- Partner-Einladung (`PartnerInvitationMail`)
- Weitere System-E-Mails über Laravel-Fortify
---
### 11. Media-Verwaltung
**Status**: 🔄 Grundarchitektur vorhanden
- Media-Tabelle für Datei-Uploads
- Unterstützung für verschiedene Medientypen
- Partner-Logos
- Marken-Logos
- Produkt-Bilder (vorbereitet)
---
### 12. Flux CMS Package (In Entwicklung)
**Status**: 🔄 Grundarchitektur vorhanden
Eigenes CMS-Package in `packages/flux-cms/`:
#### Geplante Features:
- Component-First-Architecture
- Code-as-Schema (Felder in PHP definiert)
- Multi-Domain-Support
- Vollständige Mehrsprachigkeit
- Content-Versionierung
- Media-Management
- Performance-Optimierung
#### Package-Struktur:
- `core/` - Kern-Funktionalität, Models, Services
- `components/` - Livewire Backend & Frontend Components
- `starter-components/` - Vorgefertigte Starter-Components
---
## 🗄️ Datenbank-Struktur
### Implementierte Tabellen:
#### Benutzer & Authentifizierung:
- `users` - Benutzer-Accounts
- `roles` - Rollen (Super Admin, Admin, Retailer, etc.)
- `permissions` - Berechtigungen
- `role_has_permissions` - Rollen-Berechtigungen-Zuordnung
- `model_has_roles` - User-Rollen-Zuordnung
- `personal_access_tokens` - API-Tokens (Sanctum)
#### Partner & Geschäftsbeziehungen:
- `partners` - Partner-Stammdaten
- `partner_invitations` - Einladungen mit Token & Status
- `registration_codes` - QR-Code-basierte Registrierung
- `hubs` - Regionale Hubs
- `hub_locations` - Hub-Standorte
#### Produkte & Katalog:
- `products` - Produkte
- `product_variants` - Produkt-Varianten
- `product_variant_attributes` - Varianten-Attribute
- `product_logistics` - Logistik-Informationen
- `brands` - Marken
- `categories` - Kategorien
- `category_product` - Produkt-Kategorie-Zuordnung
- `collections` - Kollektionen
- `attributes` - Attribute (Farbe, Größe, etc.)
- `attribute_values` - Attribut-Werte
- `tags` - Tags
- `product_tag` - Produkt-Tag-Zuordnung
- `related_products` - Verwandte Produkte
- `tax_rates` - Steuersätze
- `shipping_classes` - Versandklassen
#### Display/CMS:
- `display_videos` - Video-Playlist für Digital Signage
- `display_footer_contents` - Footer-Inhalte mit Short-Links & Tracking
#### System:
- `media` - Media-Verwaltung
- `cache` - Cache-Tabellen
- `jobs` - Queue-Jobs
- `failed_jobs` - Fehlgeschlagene Jobs
---
## 🎨 UI/UX Features
### Design-System:
- **Flux UI Pro** - Professionelle Komponenten-Bibliothek
- **Tailwind CSS** - Utility-First CSS Framework
- **Heroicons** - Konsistente Icon-Bibliothek
- **Dark Mode** - Vollständige Dark-Mode-Unterstützung
- **Responsive Design** - Mobile-First-Ansatz
### Theme-System:
- Domain-basiertes Theme-Switching
- Individuelle Farbschemata pro Domain
- Dynamische Asset-Verwaltung
- Theme-Demo-Seite für Vorschau
### Komponenten:
- Flux Cards, Buttons, Inputs, Selects
- Data Tables mit Pagination
- Modals & Dialogs
- Toast-Notifications
- Form-Validierung
- Loading States
---
## 📝 Dokumentation
Umfangreiche Entwicklungs-Dokumentation:
- `README.md` - Projekt-Übersicht & Installation
- `CLAUDE.md` - AI-Kontext-Dokumentation
- `dev/COMPONENT-STRUCTURE.md` - Komponenten-Architektur
- `dev/DOMAINS-CONFIG.md` - Domain-Konfiguration
- `dev/FORTIFY-SANCTUM-SETUP.md` - Auth-Setup
- `dev/HERO-ICONS-USAGE.md` - Icon-Verwendung
- `dev/LOCAL-DEVELOPMENT.md` - Lokale Entwicklung
- `dev/PARTNER-SETUP-WIZARD.md` - Partner-Onboarding
- `dev/DISPLAY_CMS_README.md` - Display-CMS-Dokumentation
- `dev/DISPLAY_SETUP_LIVE.md` - Display Live-Setup
- `dev/ENV_VARIABLES_DISPLAY.md` - Display-Umgebungsvariablen
- `dev/THEME-SWITCHING.md` - Theme-System
- `dev/THEME-DEMO-COMPONENTS.md` - Theme-Demo
---
## 🔧 Entwicklungstools
### Integrierte Tools:
- **Laravel Sail** - Docker-Entwicklungsumgebung
- **Laravel Pail** - Real-time Log-Viewer
- **Laravel Debugbar** - Debug-Informationen
- **Laravel Pint** - Code-Formatter
- **Pest PHP** - Testing Framework
- **Laravel Dusk** - Browser-Testing
- **NPM Concurrently** - Parallel-Prozess-Management
### Development-Scripts:
```bash
composer dev # Startet Server, Queue, Logs & Vite parallel
```
---
## 🚀 Deployment-Bereitschaft
### Produktions-Features:
- ✅ Umgebungsspezifische Konfigurationen
- ✅ Asset-Kompilierung (Vite)
- ✅ Cache-System
- ✅ Queue-System
- ✅ Log-Management
- ✅ Error-Handling
- ✅ HTTPS-Ready
### Optimierungen:
- Autoloader-Optimierung
- Route-Caching
- Config-Caching
- View-Caching
---
## 📊 Test-Abdeckung
### Testing-Setup:
- Pest PHP Framework installiert
- TestCase-Struktur vorhanden
- Browser-Testing mit Laravel Dusk
- Feature & Unit Tests vorbereitet
**Hinweis**: Test-Implementierung kann bei Bedarf erweitert werden.
---
## 🔐 Sicherheit
### Implementierte Sicherheitsfeatures:
- ✅ CSRF-Protection (Laravel Standard)
- ✅ SQL-Injection-Prevention (Eloquent ORM)
- ✅ XSS-Protection (Blade Escaping)
- ✅ Password-Hashing (Bcrypt)
- ✅ E-Mail-Verifizierung
- ✅ Two-Factor-Authentication
- ✅ Rate-Limiting (vorbereitet)
- ✅ Soft-Delete für DSGVO-Compliance
- ✅ Benutzer-Anonymisierung
---
## 📦 Abhängigkeiten & Packages
### Haupt-Abhängigkeiten:
- `laravel/framework` ^12.0
- `laravel/fortify` ^1.27
- `laravel/sanctum` ^4.1
- `livewire/flux` ^2.1.1
- `livewire/flux-pro` ^2.6
- `livewire/volt` ^1.7.0
- `spatie/laravel-permission` ^6.17
- `blade-ui-kit/blade-heroicons` ^2.6
### Dev-Abhängigkeiten:
- `laravel/sail` ^1.41
- `laravel/dusk` ^8.2
- `pestphp/pest` ^3.8
- `barryvdh/laravel-debugbar` ^3.16
- `reliese/laravel` ^1.4 (Model-Generator)
---
## 📈 Nächste Schritte & Empfehlungen
### Kurzfristig (bereit für Implementierung):
1. **Bestellsystem** - Order-Management für Kunden
2. **Produktbilder** - Media-Upload für Produkte
3. **E-Mail-Templates** - Erweiterte E-Mail-Kommunikation
4. **Benachrichtigungen** - In-App-Notifications
### Mittelfristig:
1. **Provisionsabrechnung** - Automatisierte Provisionsberechnung
2. **Reporting & Analytics** - Dashboard-Erweiterungen
3. **API-Erweiterung** - REST-API für Externe
4. **Suchfunktion** - Globale Suche über alle Inhalte
### Langfristig:
1. **Mobile-App** - Native Apps (via Sanctum-API)
2. **Mehrsprachigkeit** - Internationalisierung
3. **Erweiterte CMS-Features** - Flux-CMS-Package fertigstellen
4. **Payment-Integration** - Zahlungsabwicklung
---
## 🎯 Projektstatus Zusammenfassung
### ✅ Vollständig implementiert:
- Multi-Domain-System mit Theme-Switching
- Komplettes Benutzer- & Rollen-Management
- Partner-Management mit Onboarding
- Hub-Verwaltung
- Produkt-Management (Grundfunktionen)
- Rollenbasierte Dashboards
- Digital Signage CMS mit Tracking
- Authentifizierung & Sicherheit
- Website-Frontend (Grundstruktur)
- Dokumentation
### 🔄 In Arbeit:
- Flux-CMS-Package (Architektur steht)
- Erweiterte Produkt-Features
- Test-Abdeckung
### 📋 Bereit für Umsetzung:
- Bestellsystem
- Provisionsabrechnung
- Erweiterte Reporting-Funktionen
- Payment-Integration
---
## 💡 Besonderheiten & Highlights
### Technische Exzellenz:
- **Modern Stack** - Neueste Laravel/Livewire-Versionen
- **Component-Architecture** - Wiederverwendbare Livewire-Komponenten
- **Type-Safety** - PHP 8.2+ Features
- **Performance** - Optimierte Queries, Caching
- **Skalierbarkeit** - Modularer Aufbau für Wachstum
### Business-Features:
- **Multi-Tenant-Ready** - Verschiedene Partner-Typen
- **Hierarchische Strukturen** - Broker-Kunden-Beziehungen
- **Flexibles Provisionsmodell** - Prozentsatz oder Festbetrag
- **Umfangreiches Tracking** - Display-Klicks, User-Aktivitäten
- **White-Label-Fähigkeit** - Domain-spezifisches Branding
### User-Experience:
- **Intuitives Onboarding** - Setup-Wizard für neue Partner
- **Rollenbasierte Ansichten** - Jede Rolle sieht nur relevante Inhalte
- **Real-time Updates** - Livewire für nahtlose Interaktion
- **Responsive Design** - Funktioniert auf allen Geräten
- **Dark Mode** - Moderne UI-Präferenzen
---
## 📞 Support & Wartung
Das System ist produktionsbereit und kann bei Bedarf mit folgenden Services erweitert werden:
- Code-Reviews & Optimierungen
- Feature-Erweiterungen
- Bug-Fixes & Updates
- Performance-Tuning
- Sicherheits-Audits
- Schulungen für Administratoren
---
**Entwicklungsstand**: Dezember 2025
**Version**: 1.0 (Production-Ready)
**Framework**: Laravel 12
**PHP**: 8.2+
**Lizenz**: MIT
---
*Diese Dokumentation wurde automatisch generiert und gibt den aktuellen Stand der Entwicklung wieder.*