# B2IN – Projekt-Entwicklungsstand

**Stand:** März 2026 · **Laravel** 12 · **Livewire** 4 · **Volt** · **Flux UI** (Pro)

---

## Projektübersicht

Die Anwendung ist eine **Multi-Domain-Laravel-Plattform** für Partner-Onboarding, Produkt- und Hub-Verwaltung, **öffentliche Marketing-Websites** (mehrere Marken/Domains) und **Digital Signage** (Cabinet/Displays). Das **Flux-CMS** (`packages/flux-cms`) ist als Paket eingebunden und steuert zunehmend **Content und Medien** für die Web-Auftritte; klassische Display-Verwaltung (Videos, Footer, Versionen) bleibt über **eigene Admin-Livewire-Komponenten** erreichbar.

---

## Wichtige ToDos

- **System-E-Mail / Zustellung:** Teilweise Ausfälle oder Blocklisten (z. B. Gmail mit SPF/DKIM-Themen bei united-domains). Langfristig: saubere Domain-Auth, Bounce-Handling, Monitoring.
- **Bestellsystem / Orders:** Berechtigungen sind im `RoleSeeder` vorbereitet (`view orders`, `manage orders`); fachliche Umsetzung und UI folgen.

---

## Kern-Technologien

| Bereich | Technologie |
|--------|-------------|
| Backend | Laravel 12, PHP ^8.2 (in der Praxis oft 8.4 in der Dev-Umgebung) |
| Frontend (Portal) | Livewire 4, Volt (Single-File-Komponenten), Flux UI Pro |
| Frontend (öffentliche Sites) | Livewire-Sections, Tailwind CSS 4, Alpine.js |
| Auth | Laravel Fortify, Sanctum (API), E-Mail-Verifizierung, 2FA möglich |
| Rechte | Spatie Laravel Permission |
| Tests | Pest, PHPUnit 11 |
| Assets | Vite (getrennte Builds z. B. Portal / Web) |
| Dev | Laravel Sail **oder** Dev Container – in `CLAUDE.md` sind direkte `php`/`composer`/`npm`-Kommandos beschrieben |

**Hinweis Volt + Livewire 4:** Funktionale Volt-Dateien sollten im PHP-Block **kein erstes `new …`** enthalten (Compiler-Einschränkung); objektorientierte Hilfsklassen liegen z. B. unter `app/Services/`.

---

## Rollen & Berechtigungen (Ist-Zustand)

Definiert u. a. in `database/seeders/RoleSeeder.php` (Namen exakt so in der Datenbank):

| Rolle | Kurzbeschreibung |
|-------|------------------|
| **Customer** | Endkunde, Produkt-/Order-sichtbar (eigene Orders) |
| **Estate-Agent** | Makler – Dashboard, Partner-Übersicht, Hubs einsehen |
| **Retailer** | Händler – eigene Produkte anlegen/bearbeiten, Miet-Optionen |
| **Manufacturer** | Hersteller – analog Retailer |
| **Admin** | Voller operativer Zugriff inkl. Partner, Hubs, **Produkt-Kuration**, User |
| **Super-Admin** | für erweiterte Systemzugriffe vorgesehen (Gate/Policy-Pattern) |

Die ältere Doku sprach teils von „Broker“ – im Code heißt die Rolle **Estate-Agent**.

---

## Entwickelte Module & Funktionen (Auswahl)

### 1. Multi-Domain-System

**Status:** produktiv genutzt

- Domains konfigurierbar (`config/domains.php`, siehe `dev/DOMAINS-CONFIG.md`)
- **Portal:** z. B. `portal.b2in.test` – Admin-Backend
- **Öffentliche Sites:** z. B. `b2in.test`, weitere Marken-Domains mit Theme-Wechsel
- **ThemeServiceProvider**, domainbezogene Vite-Build-Verzeichnisse
- Optional: Simulation einer Domain per `.env` für lokales Testen

---

### 2. Partner-Management & Onboarding

**Status:** stabil im Einsatz

- Einladungen (`PartnerInvitationMail`), Token, Ablauf
- **Partner-Setup-Wizard** (`EnsurePartnerSetupCompleted` – unvollständiges Setup leitet zum Wizard)
- Registrierung über Codes, rollenspezifische Landing-Routes (`/reg/...`)
- Hierarchien und Provisionen: **Datenmodell und Berechtigungen** vorhanden; Ausbaustufen für Abrechnung siehe Roadmap

---

### 3. Hub-Management

**Status:** CRUD und Verknüpfungen nutzbar

- Admin-Routen für Hubs und Standorte (`hub_locations`)
- Detailausbauten (Analytics, automatische Zuweisung) roadmap

---

### 4. Produkt-Management

**Status:** deutlich über „Grundgerüst“ hinaus

- Partner können u. a. **Standard-** und **Teaser-Produkte** anlegen/bearbeiten (Volt-Formulare)
- **Admin-Kuration:** Rolle `Admin`, Permission `curate products` – Freigabe/Status (Tests in `tests/Feature/ProductCurationTest.php`)
- Katalog-Modell: Produkte, Varianten, Kategorien, Marken, Tags, Logistik u. a.

---

### 5. Digital Signage (Cabinet / Displays)

**Status:** betrieben; technische Doku unter `dev/DISPLAY_CMS_README.md`, `dev/DISPLAY_SETUP_LIVE.md`

- Admin: Display-Versionen, Playlists, Footer-Links, Shortlink/Tracking (siehe bestehende README)
- Öffentliche/Showroom-Assets u. a. unter `public/_cabinet/`
- APIs z. B. Display-Konfiguration (`routes/domains.php`)

Parallel existiert die **Flux-CMS-Medienverwaltung** für Website-Assets – beide Welten können koexistieren (unterschiedliche Einsatzgebiete).

---

### 6. Flux CMS (Package-Integration)

**Status:** **eingebunden und im Portal bedienbar** – kontinuierliche Content-Pflege und Ausbau

- Paketpfad: `packages/flux-cms/` (`core`, `components`, `starter-components`)
- Composer: `flux-cms/core` (path repository)
- **Portal-Routen (Auszug):** u. a. `admin/flux-cms` (Dashboard), Content, Projekte, Medien, Artikel – Namen wie `cms.dashboard`, `cms.content.index`, …
- **App-Integration:** Hilfsfunktionen (`cms()`, `media_url()`, … in `app/helpers.php`), Models wie `CmsContent`, `CmsProject`, `CmsArticle` (Migrationen u. a. `cms_projects`, `cms_articles`)
- Architekturüberblick: `packages/flux-cms/ARCHITECTURE.md`
- **Ziel laut `dev/flux-cms/tasks.md`:** bestehende B2IN-Website schrittweise ins CMS überführen; weitere Subseiten später

---

### 7. Öffentliche Website & Content-Strategie

**Status:** laufende inhaltliche Ausrichtung

- Viele Seiten als **Livewire-Section-Komponenten** unter `app/Livewire/Web/Components/Sections/`
- **Immobilien-Fokus (Soft Launch):** strategische Ausrichtung und Text-Briefings liegen in `dev/12-03-2026/tasks.md` (Fokus Dubai/Immobilien, Möbel/Einrichtung zunächst nur Teaser; bestehende Inhalte konservieren, ggf. über ergänzende/„versteckte“ Pfade wie bei Theme-Demos)
- Routen u. a. `/immobilien`, `/immobilien/{slug}` – Sektionen u. a. über `cms_theme_section('…')` pro Theme-Key (siehe `resources/views/web/immobilien.blade.php`)

---

### 8. Authentifizierung & Einstellungen

**Status:** produktiv

- Fortify-Features (Login, Register, Reset, Verify, 2FA)
- Profil, Passwort, Erscheinungsbild (Volt)

---

### 9. Admin-Extras

- **Projekt-Dokumentation** im Portal: Route `admin/documentation` rendert diese Datei `dev/entwicklung.md` (Service `App\Services\ProjectDocumentationContent`)
- **Impersonation** für Admins
- **CMS/Display-Admin:** getrennte Oberflächen für Flux-CMS und klassische Display-Pflege (siehe Routen oben)

---

## Datenbank (Auszug)

Neben den Kern-Tabellen (User, Partner, Produkte, Hubs, Display-Tabellen, …) u. a.:

- **`cms_projects`**, **`cms_articles`** – projekt-/artikelbezogene CMS-Daten (App-Models)
- Flux-CMS-Paket kann je nach Migration weitere `flux_cms_*`-Tabellen mitbringen – bei Deploy/Tests Migrationen aus Core + App berücksichtigen

---

## Dokumentation im Repository

| Pfad | Inhalt |
|------|--------|
| `Readme.md` | Projektüberblick |
| `CLAUDE.md` | Dev-Container, Befehle, Tests (SQLite) |
| `dev/DOMAINS-CONFIG.md` | Domains & `.env` |
| `dev/LOCAL-DEVELOPMENT.md` | Lokales Setup |
| `dev/PARTNER-SETUP-WIZARD.md` | Partner-Wizard |
| `dev/DISPLAY_*.md` | Display/Cabinet |
| `dev/THEME-SWITCHING.md` | Themes |
| `dev/12-03-2026/tasks.md` | Aktuelle Web-/Immobilien-Briefings |
| `packages/flux-cms/ARCHITECTURE.md` | CMS-Architektur |

*(Es gibt kein `dev/HERO-ICONS-USAGE.md` mehr – Icons: Flux/Heroicons nach Projektstandard.)*

---

## Tests & Qualität

- **Pest**-Feature-Tests u. a. für Auth, Partner, Produkte, CMS-Admin, Display-APIs
- Vor Releases sinnvoll: `php artisan test` (bzw. im Container/Sail das Projekt-Äquivalent)
- **Laravel Pint** für PHP-Code-Stil

---

## Roadmap (Kurz)

**Kurzfristig**

- E-Mail-Zustellung / Domain-Reputation stabilisieren
- Immobilien- und Teaser-Content gemäß `dev/12-03-2026/tasks.md` weiterziehen
- Flux-CMS: bestehende Startseite/Kernseiten vollständig pflegbar machen

**Mittelfristig**

- Bestellprozess end-to-end
- Provisionslogik
- Reporting

**Langfristig**

- API-Erweiterungen, ggf. Mobile-Clients über Sanctum
- Internationalisierung dort, wo fachlich nötig

---

## Projektstatus – Kompakt

| Bereich | Einordnung |
|---------|------------|
| Multi-Domain & Themes | stabil |
| Auth & Rollen | stabil |
| Partner & Wizard | stabil |
| Produkte inkl. Kuration | weit fortgeschritten |
| Hubs | nutzbar, Ausbau möglich |
| Display/Cabinet | stabil |
| Flux CMS | **integriert**, Content-Ausbau läuft |
| Öffentliche Website | live-tauglich, Schwerpunkt Immobilien/Soft Launch |
| Bestellsystem | vorbereitet, nicht abgeschlossen |

---

*Diese Datei ist die Referenz für die interne Projekt-Dokumentation (`admin/documentation`) und soll bei größeren Meilensteinen angepasst werden.*
