b2in/dev/entwicklung copy.md
2026-04-10 17:18:17 +02:00

8.7 KiB
Raw Blame History

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.