8.7 KiB
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
RoleSeedervorbereitet (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, siehedev/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
.envfü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, Permissioncurate products– Freigabe/Status (Tests intests/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 wiecms.dashboard,cms.content.index, … - App-Integration: Hilfsfunktionen (
cms(),media_url(), … inapp/helpers.php), Models wieCmsContent,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. übercms_theme_section('…')pro Theme-Key (sieheresources/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/documentationrendert diese Dateidev/entwicklung.md(ServiceApp\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.mdweiterziehen - 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.