Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 E-Commerce Returns Management Engine (DDD Showcase)

PHP 8.4+ Laravel 13 Filament 5 Pest Testing Architecture Test Code Style: Pint

Ein modernes, domänenorientiertes (Domain-Driven Design) E-Commerce Retouren-Management-System auf Basis von Laravel 13, Filament 5 und reiner Hexagonal-Architektur.


🎯 Das zentrale wirtschaftliche Problem & Showcase

„Warum bekommt der Kunde für das zurückgesendete Produkt nur 39,90 € statt 59,90 € zurück?“

In klassischen E-Commerce-Systemen führen Retouren oft zu pauschalen 100%-Rücküberweisungen, selbst wenn die Ware gebraucht, geöffnet oder unvollständig zurückkommt.

Dieses System löst das Problem durch eine deterministische, transparente und auditierbare Erstattungsberechnung:

Original Order (Kaufpreis: 59,90 €)
      │
      â–Ľ
Return Request (Online-Portal)
      │
      â–Ľ
Eligibility Check (Fristen, Mengen, Berechtigung)
      │
      â–Ľ
Goods Received (Wareneingang im Lager)
      │
      â–Ľ
Inspection (Physischer Befund)
  ├─ Zustand: USED (Gebraucht)
  ├─ Wiederverkauf: B_GOOD (B-Ware)
  └─ Wertminderung (Value Adjustment): -20,00 €
      │
      â–Ľ
Refund Calculation (Deterministische Berechnung)
      │
      â–Ľ
Final Refund: 39,90 € (Auditierbar & im Filament Backend aufgeschlüsselt)

🏗️ Hexagonale Domain-Driven Design (DDD) Architektur

app/Domain/Returns/                 # 100% PURE PHP 8.4 (Keine Framework-Abhängigkeiten)
├── Model/
│   ├── ReturnOrder.php             # Aggregate Root (State Machine & Invarianten)
│   ├── Entities/                   # ReturnItem, Inspection
│   └── ValueObjects/               # Money, Quantity, ReturnStatus, ReturnCondition, etc.
├── Services/
│   ├── ReturnEligibilityService.php
│   ├── RefundCalculator.php
│   └── ProportionalDiscountAllocationStrategy.php
├── Specifications/                 # ReturnIsWithinAllowedPeriod, ProductIsReturnable
├── Events/                         # ReturnRequested, ReturnInspected, RefundCalculated, etc.
└── Repositories/                   # ReturnRepositoryInterface, OrderReadPortInterface

app/Application/Returns/            # Orchestrierung von Use Cases (Commands & Handlers)
├── Commands/                       # CreateReturn, ApproveReturn, RecordInspection, CompleteReturn...
└── Handlers/                       # Transaktionale Ausführung der Domänenoperationen

app/Infrastructure/                 # Technische Adapter & Persistenz
├── Persistence/Eloquent/Models/    # OrderModel, ReturnModel, ReturnInspectionModel, AuditLogs
└── Repositories/                   # EloquentReturnRepository, EloquentOrderReadPort

app/Filament/                       # UI-Steuerung (Filament 5 Admin Panel)
└── Resources/Returns/              # Tabellen, Inspektions-Dialog, Explainability-Infolist

🚀 Schnellstart (Quickstart mit Zenv)

1. Docker-Container starten:

./zenv up

2. Datenbank migrieren & Demo-Daten seeden:

./zenv artisan migrate --seed

3. Filament Admin Panel öffnen:

4. RedisInsight Web-UI öffnen:


🧪 Tests & Qualitätssicherung

Das gesamte Projekt ist lĂĽckenlos mit Pest PHP getestet:

# Alle Unit-, Feature- und Architecture-Tests ausfĂĽhren:
./zenv pest

# Nur Architecture-Tests (Schichtenreinheit der Domain):
./zenv pest tests/Architecture

# Code-Style prĂĽfen mit Laravel Pint:
./zenv vendor/bin/pint --test

đź“„ Lizenz & Dokumentation

About

📦 Enterprise E-Commerce Returns Management Engine 🎯 Domain-Driven Design (DDD) & Hexagonal Architecture with ⚡ Laravel 13, 🎨 Filament 5 & 🧪 Pest PHP. Features deterministic refund calculations, B-Ware value adjustments 📉 and full audit trails ⏱️.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages