10-04-2026
This commit is contained in:
parent
4d6b4930b2
commit
4bb89aad8c
836 changed files with 52961 additions and 5950 deletions
222
dev/entwicklung copy.md
Normal file
222
dev/entwicklung copy.md
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
# 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.*
|
||||
Loading…
Add table
Add a link
Reference in a new issue