martin3r / platform-commerce
Commerce Module for Platform - E-Commerce Management
Installs: 40
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/martin3r/platform-commerce
This package is auto-updated.
Last update: 2026-02-12 20:20:52 UTC
README
Commerce-Modul für die Platform zur Verwaltung von Produkten, Artikeln, Attributen und Einstellungen.
📋 Übersicht
Das Commerce-Modul bietet eine vollständige E-Commerce-Lösung mit:
- Artikelverwaltung mit umfangreichen Metadaten
- Produktverwaltung mit Boards und Slots
- Attributsets und Attribut-Items
- Steuerkategorien und Steuerregeln
- Verkaufs-Kontexte
- Hersteller und Lieferanten
🚀 Installation
Das Modul wird automatisch über den Service Provider geladen, wenn es in der composer.json registriert ist.
📁 Struktur
commerce/
├── composer.json # Package-Definition
├── config/
│ └── commerce.php # Modul-Konfiguration
├── database/
│ └── migrations/ # Datenbank-Migrationen
├── resources/
│ └── views/
│ └── livewire/ # Blade Templates
├── routes/
│ ├── web.php # Authentifizierte Routes
│ └── guest.php # Öffentliche Routes
└── src/
├── CommerceServiceProvider.php # Service Provider
├── Livewire/ # Livewire Komponenten
├── Models/ # Eloquent Modelle
└── Services/ # Business Logic Services
🔧 Wichtige Komponenten
Service Provider
Der CommerceServiceProvider folgt dem Template-Pattern:
- register(): Config wird hier geladen (Laravel Best Practice)
- boot(): Modul-Registrierung, Routes, Views, Livewire
Routes
- Web-Routes (
routes/web.php): Authentifizierte Commerce-Funktionen - Guest-Routes (
routes/guest.php): Öffentliche Commerce-Seiten (z.B. Produktkatalog)
Models
CommerceArticle- Artikel mit Preisen, Kategorien, etc.CommerceProduct- Produkte mit Boards und SlotsCommerceAttributeSet- Attributsets für ProdukteCommerceTaxRule- Steuerregeln- Weitere Models für Hersteller, Lieferanten, etc.
Livewire Components
Index- HauptübersichtArticles/Index- Artikel-ÜbersichtArticles/Article- Artikel-DetailProducts/Product- Produkt-DetailProducts/Boards/Board- Produkt-BoardAttributes/Index- Attribute-ÜbersichtAttributes/AttributeSet- Attributset-DetailSettings/Index- Einstellungen
📝 Verwendung
Routes
// Dashboard Route::get('/', Index::class)->name('commerce.index'); // Artikel Route::get('/articles', ArticlesIndex::class)->name('commerce.articles.index'); Route::get('/articles/{commerceArticle}', Article::class)->name('commerce.articles.show'); // Produkte Route::get('/products', ProductsBoardsIndex::class)->name('commerce.products.index'); Route::get('/products/{commerceProduct}', Product::class)->name('commerce.products.show');
Models
use Platform\Commerce\Models\CommerceArticle; $article = CommerceArticle::where('team_id', $team->id)->first();
🎯 Best Practices
- Team-basiert: Alle Daten sind team-basiert
- Activity Logging: Models nutzen
LogsActivityTrait - UUIDs: Alle Models verwenden UUIDs
- Policies: Authorization über Policies
📚 Weitere Ressourcen
- Siehe
platform/modules/module-templatefür Template-Pattern - Siehe
platform/modules/hcmfür komplexere Beispiele - Siehe
platform/core/src/PlatformCore.phpfür Modul-Registrierung