960 lines
31 KiB
Markdown
960 lines
31 KiB
Markdown
# 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, Digital Signage und Immobilien-Investment dient. Die Anwendung basiert auf Laravel 12, Livewire 3 und Flux UI und bietet ein modernes, rollenbasiertes System für verschiedene Geschäftspartner. Seit Q1 2026 wurde die Plattform strategisch um den Bereich **Dubai Real Estate Investment** als primären Geschäftszweig erweitert – B2in positioniert sich nun als "International Real Estate + Design Ecosystem".
|
||
---
|
||
|
||
## 🎯 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.4+
|
||
- **Frontend**: Livewire 3 mit Volt (Single-File Components)
|
||
- **UI-Framework**: Flux UI (Pro-Version v2) mit Tailwind CSS v4
|
||
- **Authentifizierung**: Laravel Fortify mit Sanctum
|
||
- **Berechtigungen**: Spatie Laravel-Permission
|
||
- **Mehrsprachigkeit**: Spatie Laravel-Translatable (für CMS-Inhalte)
|
||
- **Icons**: Heroicons (Blade-Integration)
|
||
- **Entwicklungsumgebung**: Dev Container (Docker) – Befehle direkt ohne Sail-Prefix
|
||
- **MCP-Integration**: Laravel Boost MCP-Server für Entwicklungsunterstützung
|
||
|
||
---
|
||
|
||
## ✅ 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 (Legacy)
|
||
|
||
**Status**: ✅ Vollständig implementiert (Legacy-System → siehe auch Abschnitt 14 für Neuarchitektur)
|
||
|
||
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 (Q1 2026: Repositionierung "Connecting Design and Property")
|
||
- **About** - Über uns (Q1 2026: Neue Timeline "Die Erweiterung 2025/2026")
|
||
- **Ecosystem** - Ökosystem-Darstellung (Q1 2026: Drei-Säulen-Modell)
|
||
- **Partner** - Partner-Informationen (Q1 2026: "Für Immobilienentwickler"-Bereich)
|
||
- **Portfolio** - Produkt-Portfolio
|
||
- **Magazin** - Blog/Magazin mit Detail-Ansichten (Q1 2026: 5 vollständige Artikel de/en)
|
||
- **Contact** - Kontaktformular (Q1 2026: Neue Betreff-Optionen Immobilien/Supply-Chain)
|
||
- **Service** - Service-Seite
|
||
- **FAQ** - Häufig gestellte Fragen (Q1 2026: Immobilien & Supply-Chain Fokus)
|
||
- **Theme-Demo** - Theme-Vorschau
|
||
- **Immobilien** *(NEU)* - Dubai Immobilien-Übersicht
|
||
- **Immobilien Detail** *(NEU)* - Projekt-Einzelansicht mit Investment-Case
|
||
- **Interior** *(NEU)* - Interior Design / Einrichtungs-Showcase
|
||
- **Netzwerk** *(NEU)* - Partner-Netzwerk mit Cabinet-Integration
|
||
- **Impressum** *(NEU)* - Rechtliches Impressum
|
||
- **Datenschutz** *(NEU)* - Datenschutzerklärung
|
||
- **AGB** *(NEU)* - Allgemeine Geschäftsbedingungen
|
||
- **Cookie-Policy** *(NEU)* - Cookie-Richtlinie
|
||
|
||
#### 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
|
||
- **FounderBar** *(NEU)* - Gründer/CEO-Vorstellung mit Statement
|
||
- **ImageBreak** *(NEU)* - Wiederverwendbare Bildtrennung (konfigurierbar per Section-Name)
|
||
- **ImmobilienContactForm** *(NEU)* - Spezialisiertes Kontaktformular für Immobilien
|
||
|
||
#### UI-Komponenten:
|
||
- Header mit Navigation
|
||
- Footer
|
||
- Top-Bar
|
||
- Kontaktformular
|
||
- Theme-Switcher (für Demos)
|
||
- **AnnouncementBar** *(NEU)* - Ankündigungsleiste
|
||
- **web-picture** *(NEU)* - Blade-Komponente für responsive Bilder
|
||
|
||
---
|
||
|
||
### 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
|
||
|
||
#### Neue CMS-Models (seit Q1 2026):
|
||
- `CmsContent` - Gruppen/Key-basierter Content mit übersetzbaren Werten
|
||
- `CmsDownload` - Mediendatei-Verwaltung
|
||
- `CmsFaq` - FAQ mit übersetzbaren Frage-Antwort-Paaren
|
||
- `CmsIndustry` - Branchen-Taxonomie
|
||
- `CmsLinkedinPost` - Social-Media-Integration
|
||
- `CmsMedia` - Media-Library mit Konvertierungs-Tracking
|
||
- `CmsNewsItem` - News/Artikel
|
||
- `CmsSearchIndex` - Volltextsuche-Index
|
||
|
||
#### Neue Services:
|
||
- `CmsContentService` - Content-Abruf und -Verwaltung
|
||
- `HeroiconOutlineList` - Icon-Referenz-Service
|
||
- `MediaConversionService` - Bild/Video-Konvertierungs-Pipeline
|
||
|
||
---
|
||
|
||
### 13. Immobilien-Plattform (Dubai Real Estate)
|
||
|
||
**Status**: ✅ Soft-Launch implementiert (seit März 2026)
|
||
|
||
Vollständige Dubai-Immobilien-Investitionsplattform als neuer Hauptgeschäftszweig:
|
||
|
||
#### Seiten:
|
||
- **Immobilien-Übersicht** (`/immobilien`) - Listing mit Hero, Fakten, Kaufprozess, Trust-Blocks, Mindset-Check
|
||
- **Projekt-Detail** (`/immobilien/{slug}`) - Einzelansicht mit Galerie, Investment-Case, Trust/Möbel-Vorteile
|
||
|
||
#### Datenmodelle:
|
||
- **CmsProject** - Immobilienprojekte mit mehrsprachigen Feldern (Spatie Translatable)
|
||
- Slug, Titel, Standort, Beschreibung, Features (JSON)
|
||
- Preis in AED mit automatischer EUR/USD-Umrechnung
|
||
- Investor-Trust-Block (Escrow, DLD-Kontrolle, Transparenz)
|
||
- Möbel-Vorteil-Block (exklusives B2in-Einrichtungsnetzwerk)
|
||
- **CmsArticle** - Magazin-Artikel mit Mehrsprachigkeit (de/en)
|
||
- Kategorie, Autor, Lesezeit, Veröffentlichungsstatus
|
||
- Content als JSON-Struktur (Sections mit Intro, Text, Listen, Zitaten)
|
||
|
||
#### Magazin-Artikel (5 vollständige Artikel):
|
||
1. Escrow-System Dubai – Wie Käufer geschützt werden
|
||
2. Spotlight: Al Jaddaf – Dubais aufstrebender Kreativdistrikt
|
||
3. Turnkey-Investments – Schlüsselfertig vom Plan bis zur Einrichtung
|
||
4. Supply-Chain-Management – Deutsche Qualität für internationale Projekte
|
||
5. Local-for-Local – Wie B2in lokale Händler mit internationalen Investoren verbindet
|
||
|
||
#### PriceHelper:
|
||
- Statische Preisformatierung AED → EUR/USD
|
||
- Feste Wechselkurse: AED/USD 3.6725, USD/EUR 1.08
|
||
- Format: "ab 1.125.000 AED (ca. 284.000 EUR / 306.000 USD)"
|
||
|
||
#### Seeders:
|
||
- `CmsProjectSeeder` - Immobilienprojekte aus Lang-Dateien
|
||
- `CmsArticleSeeder` - Magazin-Artikel aus Lang-Dateien (de/en)
|
||
|
||
---
|
||
|
||
### 14. Display-Versions-System (Neuarchitektur)
|
||
|
||
**Status**: ✅ Vollständig implementiert (Februar 2026)
|
||
|
||
Komplett überarbeitetes Display-Management mit Versions-basiertem Content:
|
||
|
||
#### Drei-Tabellen-Architektur:
|
||
- **Display** - Physische Display-Geräte (Name, Standort, Aktiv-Status)
|
||
- **DisplayVersion** - Content-Versionen mit Typ-basiertem System
|
||
- **DisplayVersionItem** - Einzelne Content-Items (Video, Footer, Media, Slides) mit JSON-Content
|
||
|
||
#### DisplayVersionType Enum:
|
||
- `video-display` - Video-Playlists
|
||
- `b2in` - B2in-Marken-Content
|
||
- `offers` - Angebots-Slides
|
||
|
||
#### API-Endpunkte:
|
||
- `GET /api/display/config` - Vollständige Playlist-Konfiguration als JSON
|
||
- `GET /api/display/check` - Lightweight Update-Check (Timestamp + Status)
|
||
|
||
#### Legacy-Migration:
|
||
- `MigrateLegacyDisplays`-Kommando konvertiert alte DisplayVideo/DisplayFooterContent-Daten in neues System
|
||
|
||
---
|
||
|
||
### 15. Cabinet Tablet-Management
|
||
|
||
**Status**: ✅ Vollständig implementiert (Februar/März 2026)
|
||
|
||
Verwaltungssystem für Tablet-Displays im Cabinet Showroom Bielefeld:
|
||
|
||
#### CabinetTabletSetting (Singleton-Pattern):
|
||
- Store-Status-Modi: open, notice, closed, warning
|
||
- Tägliche Override-Zeiten (override_open_today, override_close_today) mit Mitternacht-Auto-Reset
|
||
- 7-Tage-Öffnungszeiten mit deutschen Labels (Montag–Sonntag)
|
||
- Nächster Termin (Datum + Uhrzeit)
|
||
- Kontaktdaten (Telefon, E-Mail)
|
||
- Status-Berechnung basierend auf Berliner Zeitzone
|
||
|
||
#### API-Endpunkte:
|
||
- `GET /api/cabinet-tablet/status` - Vollständige Settings (Öffnungszeiten, Kontakt, Termine, Hinweise)
|
||
- `GET /api/cabinet-tablet/check` - Schnell-Poll für Status-Änderungen
|
||
|
||
#### Admin-Oberfläche:
|
||
- `CabinetInfoTablet` - Livewire-Komponente für Öffnungszeiten und Kontaktdaten
|
||
- `QuickStatus` - Livewire-Komponente für schnelle Status-Änderungen (Auto/Geschlossen/Hinweis/Warnung)
|
||
- Key-basierte Autorisierung über Query-Parameter
|
||
|
||
---
|
||
|
||
### 16. Homepage & Brand-Repositionierung
|
||
|
||
**Status**: ✅ Umgesetzt (Februar/März 2026)
|
||
|
||
Komplette Neuausrichtung der B2in-Marke:
|
||
|
||
#### Strategische Änderungen:
|
||
- **Neuer Hero**: "B2in – Connecting Design and Property" mit dualem Positioning (Immobilien + Einrichtung)
|
||
- **Founder Bar**: Marcel Scheibe als CEO/Founder mit persönlichem Statement auf allen relevanten Seiten
|
||
- **Ecosystem-Drei-Säulen-Modell**:
|
||
1. Internationale Immobilien
|
||
2. Exklusive Einrichtung
|
||
3. Supply-Chain-Management
|
||
- **Partner-Section**: Neuer "Für Immobilienentwickler"-Bereich (Supply-Chain-Fokus)
|
||
- **FAQ-Update**: 5 Fragen mit Immobilien- und Supply-Chain-Fokus
|
||
- **Brand Worlds Neuordnung**: Stileigentum → Style2Own → B2A
|
||
|
||
#### Aktualisierte Seiten:
|
||
- Home, About (neue Timeline: "Die Erweiterung 2025/2026"), Ecosystem, Partner
|
||
- Contact (neue Betreff-Optionen für Immobilien/Supply-Chain)
|
||
- Magazin (mit Immobilien-Artikeln)
|
||
|
||
---
|
||
|
||
### 17. Neue Webseiten & Rechtliches
|
||
|
||
**Status**: ✅ Implementiert (März 2026)
|
||
|
||
#### Neue Seiten:
|
||
- `/immobilien` - Dubai Immobilien-Plattform
|
||
- `/immobilien/{slug}` - Projekt-Detailseite
|
||
- `/interior` - Interior Design / Einrichtungs-Showcase
|
||
- `/netzwerk` - Partner-Netzwerk (mit Cabinet-Integration)
|
||
- `/impressum` - Impressum
|
||
- `/privacy` - Datenschutzerklärung
|
||
- `/terms` - AGB
|
||
- `/cookie-policy` - Cookie-Richtlinie
|
||
|
||
#### Neue Livewire-Sections:
|
||
- `FounderBar` - Gründer/CEO-Vorstellung (Marcel Scheibe)
|
||
- `ImageBreak` - Wiederverwendbare Bildtrennungs-Komponente
|
||
- `ImmobilienContactForm` - Spezialisiertes Kontaktformular für Immobilien-Anfragen
|
||
|
||
---
|
||
|
||
### 18. Mehrsprachigkeit & Lokalisierung
|
||
|
||
**Status**: ✅ Implementiert (März 2026)
|
||
|
||
#### SetLocale-Middleware:
|
||
- Neue Middleware in `bootstrap/app.php` registriert
|
||
- Erkennung über `session('locale')`, setzt App-Locale (de/en)
|
||
- Integriert in Web-Middleware-Gruppe
|
||
|
||
#### Sprachdateien:
|
||
- `resources/lang/de/b2in.php` - Deutsche Übersetzungen (Immobilien, Magazin, UI)
|
||
- `resources/lang/en/b2in.php` - Englische Übersetzungen
|
||
- `resources/lang/de/b2in_legal.php` / `en/b2in_legal.php` - Rechtliche Texte
|
||
- `resources/lang/de/ui.php` / `en/ui.php` - UI-Elemente
|
||
|
||
---
|
||
|
||
### 19. Artisan-Kommandos
|
||
|
||
**Status**: ✅ Implementiert
|
||
|
||
#### Neue Kommandos:
|
||
- **ConvertImagesToWebP** - Batch-Konvertierung JPG/PNG → WebP
|
||
- Optionen: `--path`, `--quality` (Standard 85%), `--force`, `--dry-run`
|
||
- Zeigt Kompressions-Statistiken (Dateigrößen-Reduktion %)
|
||
- **MigrateLegacyDisplays** - Einmalige Migration von altem DisplayVideo/DisplayFooterContent ins neue System
|
||
- **ResetCabinetTabletOverrides** - Geplante Aufgabe zum Zurücksetzen täglicher Zeitüberschreibungen um Mitternacht
|
||
|
||
---
|
||
|
||
### 20. Produkt-Kuration
|
||
|
||
**Status**: 🔄 Erweitert (Februar 2026)
|
||
|
||
- Neue Berechtigung `curate_products` hinzugefügt (Migration `2026_02_27_154145`)
|
||
- Ermöglicht spezifische Produktkurations-Rechte unabhängig von allgemeinem Produkt-Management
|
||
|
||
---
|
||
|
||
## 🗄️ 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 (Legacy):
|
||
- `display_videos` - Video-Playlist für Digital Signage (Legacy)
|
||
- `display_footer_contents` - Footer-Inhalte mit Short-Links & Tracking (Legacy)
|
||
|
||
#### Display-Versions-System (Neu, Feb 2026):
|
||
- `display_versions` - Content-Versionen (Name, Typ, Settings JSON, Aktiv-Status)
|
||
- `display_version_items` - Content-Items (FK, Item-Typ, Content JSON, Sortierung)
|
||
- `displays` - Physische Display-Geräte (Name, Standort, Aktiv-Status)
|
||
- `display_display_version` - Pivot-Tabelle (Many-to-Many mit Sortierung)
|
||
|
||
#### Cabinet Tablet (Neu, Feb/März 2026):
|
||
- `cabinet_tablet_settings` - Showroom-Status, Öffnungszeiten (7 Tage), Kontaktdaten, Overrides
|
||
|
||
#### CMS-Inhalte (Neu, März 2026):
|
||
- `cms_projects` - Immobilienprojekte (JSON-Felder für Mehrsprachigkeit, Preis in AED)
|
||
- `cms_articles` - Magazin-Artikel (JSON für Titel/Untertitel/Content, Kategorie, Autor)
|
||
|
||
#### Flux CMS Package (Neu, 2026):
|
||
- `flux_cms_contents` - Gruppen/Key-basierter Content
|
||
- `flux_cms_downloads` - Downloads
|
||
- `flux_cms_linkedin_posts` - LinkedIn-Posts
|
||
- `flux_cms_faqs` - FAQ-Einträge
|
||
- `flux_cms_news_items` - News
|
||
- `flux_cms_industries` - Branchen
|
||
- `flux_cms_media` - Media-Library
|
||
- `flux_cms_search_index` - Volltextsuche
|
||
|
||
#### 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
|
||
- `dev/27-02-2026/` - Entwicklungsdokumentation Relaunch Februar 2026
|
||
- `dev/12-03-2026/` - Entwicklungsdokumentation Immobilien-Launch März 2026
|
||
- `packages/flux-cms/ARCHITECTURE.md` - CMS-Package Architektur
|
||
- `packages/flux-cms/MIGRATION.md` - CMS-Migrations-Leitfaden
|
||
- `packages/flux-cms/SETUP.md` - CMS-Setup-Anleitung
|
||
|
||
---
|
||
|
||
## 🔧 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
|
||
- SQLite in-memory für Tests (MySQL wird nicht berührt)
|
||
- Automatischer Config-Cache-Reset vor jedem Test-Run
|
||
|
||
### Neue Tests (seit Q1 2026):
|
||
|
||
#### Display & Tablet Tests:
|
||
- `DisplayVersionTest` - Model-Beziehungen, activeItems()
|
||
- `DisplayVersionApiTest` - API-Config/Check-Endpunkte
|
||
- `DisplayListTest` - Display CRUD-Operationen
|
||
- `CabinetInfoTabletTest` - Info-Tablet-Display-Integration
|
||
- `CabinetTabletApiTest` - API-Endpunkte (Status/Check)
|
||
- `CabinetQuickStatusTest` - Livewire-Komponenten-Interaktion
|
||
- `ResetCabinetTabletOverridesTest` - Mitternacht-Reset-Logik
|
||
|
||
#### Immobilien/CMS Tests:
|
||
- `ImmobilienShowTest` - Projekt-Detailseite-Rendering
|
||
- `CmsLegalSeederTest` - Rechtliche Inhalte (Privacy/Terms/Impressum)
|
||
- `MagazinPageTest` - Magazin-Seiten
|
||
- `ContactFormTest` - Kontaktformular
|
||
|
||
#### Weitere Tests:
|
||
- `AboutPageTest` - About-Seite
|
||
- `AnnouncementBarTest` - Announcement-Bar
|
||
- `InteriorPageTest` - Interior-Seite
|
||
- `SoftLaunchDevPagesTest` - Dev-Seiten im Soft-Launch
|
||
- `PartnerSelfServiceProfileTest` - Partner Self-Service
|
||
- `CmsFluxEditorHtmlTransformerTest` (Unit) - HTML-Transformation
|
||
- `CabinetTabletSettingTest` (Unit) - Status-Berechnung, Öffnungszeiten
|
||
|
||
#### Factories:
|
||
- `CabinetTabletSettingFactory`
|
||
- `CmsArticleFactory` (mehrsprachig)
|
||
- `CmsProjectFactory` (mehrsprachig)
|
||
- `DisplayFactory`
|
||
- `DisplayVersionFactory` (mit Typ)
|
||
- `DisplayVersionItemFactory`
|
||
|
||
---
|
||
|
||
## 🔐 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
|
||
- `spatie/laravel-translatable` (NEU - für CMS-Inhalte)
|
||
- `blade-ui-kit/blade-heroicons` ^2.6
|
||
- `laravel/mcp` ^0.x (NEU - MCP-Server-Integration)
|
||
|
||
### 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
|
||
- **NEU**: Immobilien-Plattform (Dubai Real Estate) mit Soft-Launch
|
||
- **NEU**: Display-Versions-System (Neuarchitektur)
|
||
- **NEU**: Cabinet Tablet-Management
|
||
- **NEU**: Homepage & Brand-Repositionierung
|
||
- **NEU**: Mehrsprachigkeit (de/en) mit SetLocale-Middleware
|
||
- **NEU**: Rechtliche Seiten (Impressum, Datenschutz, AGB, Cookie-Policy)
|
||
- **NEU**: Magazin mit 5 vollständigen Artikeln (de/en)
|
||
- **NEU**: Interior- und Netzwerk-Seiten
|
||
- **NEU**: WebP-Konvertierungs-Tool
|
||
- **NEU**: Umfangreiche Test-Suite mit Factories
|
||
|
||
### 🔄 In Arbeit:
|
||
- Flux-CMS-Package (Architektur steht, neue Models und Services hinzugefügt)
|
||
- Erweiterte Produkt-Features + Produkt-Kuration
|
||
- Weitere Immobilienprojekte (aktuell: Azizi Creek Views 4)
|
||
|
||
### 📋 Bereit für Umsetzung:
|
||
- Bestellsystem
|
||
- Provisionsabrechnung
|
||
- Erweiterte Reporting-Funktionen
|
||
- Payment-Integration
|
||
|
||
---
|
||
|
||
## 💡 Besonderheiten & Highlights
|
||
|
||
### Technische Exzellenz:
|
||
- **Modern Stack** - Neueste Laravel 12 / Livewire 3 / PHP 8.4+ / Tailwind CSS v4
|
||
- **Component-Architecture** - Wiederverwendbare Livewire-Komponenten
|
||
- **Type-Safety** - PHP 8.4+ Features inkl. Enums
|
||
- **Performance** - Optimierte Queries, Caching, WebP-Bildkonvertierung
|
||
- **Skalierbarkeit** - Modularer Aufbau für Wachstum
|
||
- **API-First Display-System** - JSON-basierte Konfiguration für Signage-Geräte
|
||
- **Mehrsprachigkeit** - DE/EN mit Spatie Translatable und Laravel-Lang-Dateien
|
||
|
||
### 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
|
||
- **Immobilien-Investment** - Vollständige Dubai Real Estate-Plattform mit Preisumrechnung
|
||
- **Content-Management** - Magazin-Artikel, Projekte, rechtliche Inhalte
|
||
- **Showroom-Management** - Cabinet Tablet mit Öffnungszeiten und Live-Status
|
||
|
||
### 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
|
||
- **Founder-Vertrauen** - CEO-Positioning auf relevanten Seiten
|
||
- **Trust-Building** - Escrow, DLD-Kontrolle, Investoren-Transparenz
|
||
|
||
---
|
||
|
||
## 📞 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**: März 2026
|
||
**Version**: 2.0
|
||
**Framework**: Laravel 12
|
||
**PHP**: 8.4+
|
||
**Lizenz**: MIT
|
||
|
||
---
|
||
|
||
*Diese Dokumentation wird fortlaufend aktualisiert und gibt den aktuellen Stand der Entwicklung wieder.*
|
||
*Letzte Aktualisierung: März 2026*
|
||
|