Executez un flux complet (inbound, use case, ports, adapters) puis inspectez le code de chaque brique de l architecture hexagonale.
Ce que vous validez avec cette demo
Le domaine reste stable pendant que les adapters evoluent. L explorateur de code couvre toutes les briques: domaine, application, ports, adapters, composition root et tests.
Cette simulation couvre les briques complete d un flux hexagonal: adapter entrant, use case, entites domaine, ports sortants et adapters d infrastructure.
Adapter entrant API HTTP (JSON request -> command)
Provider externe classique (latence reseau)
Adapter ultra rapide pour tests et preview
Adapter sortant simple (application log)
Aucune execution pour le moment.
Executez la demo pour voir le resultat du use case.
Money VO
Value Object qui protege les invariants metier du montant.
1export class Money {2 private constructor(3 private readonly cents: number,4 private readonly currency: 'EUR'5 ) {}6
7 static fromCents(raw: number): Money {8 if (!Number.isInteger(raw)) {9 throw new Error('Amount must be an integer in cents');10 }11 if (raw < 100) {12 throw new Error('Minimum amount is 1.00 EUR');13 }14
15 return new Money(raw, 'EUR');16 }17
18 toCents(): number {19 return this.cents;20 }21
22 toCurrency(): 'EUR' {23 return this.currency;24 }25}