Zum Inhalt springen

DDD-Architektur für PHP E-Commerce-Systeme

Catalog, Order, Payment, Inventory: E-Commerce-Domains gehören getrennt, nicht in einen Monolithen gepresst. Jardis gibt deinem Shop-System die Architektur, die von Bounded Context eins bis zur Multi-Channel-Skalierung trägt.

Je mehr Channels ihr anbindet, desto fragiler wird der Monolith.

Shopware, Magento, Custom-Builds: ohne Domain-Grenzen wird jede Payment-Änderung zum Risiko für Bestellungen, Lager und Versand.

Shop-Monolith brennt bei jeder Änderung

Catalog, Pricing und Order leben in denselben Tabellen. Eine Preisänderung bricht den Checkout. Ein neues Versandmodell zieht Seiteneffekte durch die halbe Codebasis. Am Black Friday ist das kein Bug, sondern Umsatzverlust.

Vendor-Lock-in zu Shopware oder Magento

Business-Logik ist mit Framework-Code verwoben. Ein Wechsel oder ein Major-Upgrade bedeutet Monate Rewrite, weil Domain-Regeln in Controllern und Plugins stecken. Rabattlogik, Versandregeln, Retourenabwicklung: alles am Framework geklebt.

Inventory und Orders sind untrennbar gekoppelt

Bestandsführung hängt direkt am Order-System. Stornierungen erzeugen Race Conditions im Lager. Multi-Warehouse oder Dropshipping-Anbindungen werden zum Albtraum, weil es keine saubere Domain-Grenze zwischen Bestand und Bestellung gibt.

Bestellung, Katalog, Payment — jede Domain für sich.

Der Jardis Builder generiert physische Domain-Grenzen für jede E-Commerce-Domain. Nicht als Empfehlung, sondern als erzwungene Paketstruktur.

DOMAIN BOUNDARIES

Catalog, Order und Payment als eigene Packages

Jeder Bounded Context wird ein eigenständiges Package mit eigener Dependency-Struktur. Order kann nicht auf Catalog-Tabellen zugreifen, Inventory nicht auf Payment-Daten. Der Builder erzwingt diese Trennung auf Dateisystem-Ebene. Ein neuer Vertriebskanal oder ein Framework-Wechsel betrifft nur die betroffene Domain.

EVENT-DRIVEN

Bestellung, Zahlung und Versand über Domain Events

OrderPlaced, PaymentConfirmed, ShipmentDispatched: der Builder generiert die Events und ihre Handler als typisierte PHP-Klassen. Kein direkter Aufruf zwischen Domains. Inventory reagiert auf OrderPlaced, Shipping auf PaymentConfirmed. Neue Subscriber wie eine Promotions-Engine oder ein Loyalty-Programm lassen sich hinzufügen, ohne bestehende Domains zu ändern.

PRODUCTION-READY

80% des Codes generiert, sofort einsetzbar

Der Builder generiert die Multi-Channel-fähige PHP-Infrastruktur pro Domain: Catalog, Order, Payment und Inventory bekommen jeweils eigene CQRS-Strukturen mit Commands, Queries und Repository Pipeline. Euer Team schreibt die Shop-Logik: Rabattregeln, Fulfillment-Workflows, Retourenabwicklung und Payment-Routing.

Sieh selbst, was aus drei Dateien entsteht.

Drei Definitionsdateien rein, ein kompletter Bounded Context raus. Klick dich durch den generierten Code.

E-Commerce / Sales
schema.yaml
# Database Schema — Sales Bounded Context
# This file defines the persistent storage structure.

schema:
  domain: ECommerce
  boundedContext: Sales

tables:
  order:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      public_id:
        type: uuid7
        unique: true
      customer_email:
        type: string
        length: 255
      status:
        type: string
        length: 32
        default: "draft"
      total_amount:
        type: integer
      currency:
        type: string
        length: 3
        default: "EUR"
      created_at:
        type: datetime
      updated_at:
        type: datetime
        nullable: true

  order_item:
    columns:
      id:
        type: integer
        primary: true
        autoIncrement: true
      order_id:
        type: integer
        foreignKey:
          table: order
          column: id
          onDelete: cascade
      product_name:
        type: string
        length: 255
      sku:
        type: string
        length: 64
      quantity:
        type: integer
      unit_price:
        type: integer
      line_total:
        type: integer
Dateien
Definitions (Input)
Generated Code (Output)
BUILDER OUTPUT
80%
Infrastruktur-Code generiertEntities, Commands, Queries, Events, API Contracts und die Repository Pipeline für jede E-Commerce-Domain.
50%
weniger Zeit für neue Channels
0
Vendor-Lock-in-Punkte
ARCHITEKTUR
100%
Hexagonale ArchitekturJede generierte Datei folgt Ports & Adapters. Shop-Framework austauschbar, Domain-Logik bleibt.

Warum E-Commerce-Teams auf Jardis bauen.

Vom ersten Shop bis zur Multi-Channel-Plattform. Jardis wächst mit eurem System.

> Domain Isolation

Jede E-Commerce-Domain ein eigenes Package

Catalog, Order, Payment, Inventory, Shipping: eigenständige Bounded Contexts. Teams arbeiten parallel an verschiedenen Domains. Das Catalog-Team deployt Produktdaten, ohne dass das Order-Team ein Release koordinieren muss.

> Velocity

Neue Domain in Minuten statt Wochen

Promotions-Engine, Loyalty-Programm, Retouren-Management, neuer Payment-Provider? Schema definieren, Builder starten. Commands, Queries, Events und Repository Pipeline stehen, bevor die erste Zeile Shop-Logik geschrieben wird.

> Framework-Freiheit

Kein Vendor-Lock-in mehr

Hexagonale Architektur trennt Domain-Logik von Framework-Code. Laravel, Symfony oder ein Wechsel von Shopware zu Custom: die Business-Regeln bleiben unverändert. Der Builder generiert die Adapter, die Domain bleibt portabel.

Bereit, euren Shop auf ein solides Domain-Fundament zu stellen?

Auf die Waitlist

Struktur kostet weniger als Chaos.

Kostenloser Trial

Teste Jardis 7 Tage kostenlos

Lass Jardis an deiner echten Domäne los. Discovery, Struktur und dein erster Platform Build.

Join Waitlist
20 Discovery Runs
5 Structure Builds
1 Platform Build
Alle Jardis Packages als Open Source
Jardis Base
29 €pro Monat

Die komplette DDD-Architektur mit allen Klassen und Contracts. Dein Team schreibt Features, nicht Infrastruktur.

Join Waitlist
Unlimited Discovery Runs
Unlimited Structure Builds
Alle 26 Jardis Packages enthalten
PHPStan Level 8 von Anfang an
Jardis Pro
180 €pro Monat

Die komplette Business-Logik mit Handlern, Validierung und Pipelines. Was früher ein Sprint war, ist jetzt ein Build.

Join Waitlist
Alles aus Jardis Base
Commands, Queries, Events direkt implementiert
Platform Code in Sekunden statt Wochen
Weitere Runs für 89 € einzeln
Enterprise

Mehr als 20 Platform Builds pro Monat?

Lass uns sprechen

Sei dabei, wenn Jardis startet.

Trag dich ein. Du bekommst Zugang, sobald wir live gehen. Inklusive kostenlosem Trial.

100+ Entwickler warten bereits auf den Launch

Neugierig, wie Jardis funktioniert?

Jardis entdecken

Häufige Fragen

Antworten auf die wichtigsten Fragen zu Jardis im E-Commerce-Kontext.

Ja. Jardis ist für Brownfield-Szenarien gebaut. Du generierst einzelne Bounded Contexts und integrierst sie schrittweise. Der Builder erzeugt PHP-Code mit hexagonaler Architektur, der neben bestehendem Shop-Code existieren kann. Bestehende Plugin-Logik und Theme-Anpassungen bleiben erhalten, während du Domain für Domain migrierst.