■ Restbucks
├─□ Core
│ ╰─○ API
│ ├─┬⊙ Attribute Converter (JPA)
│ │ ├─╴o.s.r.c.MonetaryAmountAttributeConverter (API)
│ │ ╰─╴o.s.r.c.YearAttributeConverter (API)
│ ╰─┬⊙ Other
│ ╰─╴o.s.r.c.Currencies (API)
├─□ Drinks
│ ├─○ API
│ │ ├─┬⊙ Request mappings (Web)
│ │ │ ╰─╴GET /drinks/by-name DrinksOptions.getOptions(Optional)
│ │ ├─┬⊙ Aggregate Root (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.d.Drink (API)
│ │ ├─┬⊙ Identifier (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.d.Drink.DrinkIdentifier (API)
│ │ ├─┬⊙ Repository (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.d.Drinks (API)
│ │ ├─┬⊙ Controller (Web)
│ │ │ ╰─╴o.s.r.d.DrinksOptions (API)
│ │ ╰─┬⊙ Other
│ │ ├─╴o.s.r.d.Milk (API)
│ │ ╰─╴o.s.r.d.Size (API)
│ ╰─○ Internal
│ ├─┬⊙ Representation Model Processor (Hypermedia)
│ │ ╰─╴o.s.r.d.DrinksModelProcessor (internal)
│ ├─┬⊙ JSON Mixin (REST)
│ │ ╰─╴o.s.r.d.DrinksConfiguration.DrinkMixin (internal)
│ ╰─┬⊙ Configuration (Spring)
│ ╰─╴o.s.r.d.DrinksConfiguration (internal)
├─□ Order
│ ├─○ API
│ │ ├─┬⊙ Aggregate Root (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.o.Order (API)
│ │ ├─┬⊙ Entity (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.o.LineItem (API)
│ │ ├─┬⊙ Identifier (Domain-Driven Design)
│ │ │ ├─╴o.s.r.o.LineItem.LineItemIdentifier (API)
│ │ │ ╰─╴o.s.r.o.Order.OrderIdentifier (API)
│ │ ├─┬⊙ Repository (Domain-Driven Design)
│ │ │ ╰─╴o.s.r.o.Orders (API)
│ │ ├─┬⊙ Domain Event (Events)
│ │ │ ├─╴o.s.r.o.Order.OrderCreated (API)
│ │ │ ├─╴o.s.r.o.Order.OrderInPreparation (API)
│ │ │ ├─╴o.s.r.o.Order.OrderLineItemCreated (API)
│ │ │ ├─╴o.s.r.o.Order.OrderPaid (API)
│ │ │ ├─╴o.s.r.o.Order.OrderPrepared (API)
│ │ │ ╰─╴o.s.r.o.Order.OrderTaken (API)
│ │ ├─┬⊙ Projection (Spring Data)
│ │ │ ╰─╴o.s.r.o.OrderProjection (API)
│ │ ╰─┬⊙ Other
│ │ ├─╴o.s.r.o.Location (API)
│ │ ╰─╴o.s.r.o.Order.Status (API)
│ ╰─○ Internal
│ ├─┬⊙ Request mappings (Web)
│ │ ╰─╴POST /orders OrderController.placeOrder(LocationAndDrinks, Errors, PersistentEntityResourceAssembler)
│ ├─┬⊙ Service (Domain-Driven Design)
│ │ ╰─╴o.s.r.o.OrderInitializer (internal)
│ ├─┬⊙ Representation Model Processor (Hypermedia)
│ │ ├─╴o.s.r.o.web.CoreOrderResourceProcessor (internal)
│ │ ╰─╴o.s.r.o.web.RootResourceModelProcessor (internal)
│ ├─┬⊙ JSON Mixin (REST)
│ │ ├─╴o.s.r.o.web.OrderConfiguration.LineItemMixin (internal)
│ │ ╰─╴o.s.r.o.web.OrderConfiguration.OrderMixin (internal)
│ ├─┬⊙ Configuration (Spring)
│ │ ├─╴o.s.r.o.web.OrderConfiguration (internal)
│ │ ╰─╴o.s.r.o.web.OrderObservabilityConfiguration (internal)
│ ├─┬⊙ Controller (Web)
│ │ ╰─╴o.s.r.o.web.OrderController (internal)
│ ╰─┬⊙ Other
│ ├─╴o.s.r.o.web.LocationAndDrinks (internal)
│ ├─╴o.s.r.o.web.OrderAlreadyPaid (internal)
│ ╰─╴o.s.r.o.web.OrderControllerEventListener (internal)
├─□ Engine
│ ╰─○ Internal
│ ├─┬⊙ Event Listener (Spring)
│ │ ╰─╴Engine.handleOrderPaidEvent(OrderPaid)
│ ├─┬⊙ Service (Domain-Driven Design)
│ │ ╰─╴o.s.r.e.Engine (internal)
│ ╰─┬⊙ Other
│ ╰─╴o.s.r.e.EngineSettings (internal)
╰─□ Payment
├─○ API
│ ╰─┬⊙ Application (Hexagonal Architecture)
│ ├─┬⊙ Aggregate Root (Domain-Driven Design)
│ │ ├─╴o.s.r.p.CreditCard (API)
│ │ ├─╴o.s.r.p.CreditCardPayment (API)
│ │ ╰─╴o.s.r.p.Payment (API)
│ ├─┬⊙ Identifier (Domain-Driven Design)
│ │ ├─╴o.s.r.p.CreditCardNumber (API)
│ │ ╰─╴o.s.r.p.Payment.PaymentIdentifier (API)
│ ╰─┬⊙ Other
│ ├─╴o.s.r.p.Payment.Receipt (API)
│ ├─╴o.s.r.p.PaymentFailed (API)
│ ╰─╴o.s.r.p.PaymentService (API)
╰─○ Internal
├─┬⊙ Application (Hexagonal Architecture)
│ ├─┬⊙ Service (Domain-Driven Design)
│ │ ├─╴o.s.r.p.PaymentInitializer (internal)
│ │ ╰─╴o.s.r.p.PaymentServiceImpl (internal)
│ ╰─┬⊙ Repository (Domain-Driven Design)
│ ├─╴o.s.r.p.CreditCards (internal)
│ ╰─╴o.s.r.p.Payments (internal)
╰─┬⊙ Primary Adapter (Hexagonal Architecture)
├─┬⊙ Request mappings (Web)
│ ├─╴PUT /orders/{id}/payment PaymentController.submitPayment(Order, PaymentForm)
│ ├─╴GET /orders/{id}/receipt PaymentController.showReceipt(Order)
│ ╰─╴DELETE /orders/{id}/receipt PaymentController.takeReceipt(Order)
├─┬⊙ Representation Model Processor (Hypermedia)
│ ╰─╴o.s.r.p.web.PaymentOrderModelProcessor (internal)
├─┬⊙ JSON Mixin (REST)
│ ├─╴o.s.r.p.web.PaymentConfiguration.CreditCardMixin (internal)
│ ╰─╴o.s.r.p.web.PaymentConfiguration.ReceiptMixin (internal)
├─┬⊙ Configuration (Spring)
│ ╰─╴o.s.r.p.web.PaymentConfiguration (internal)
├─┬⊙ Controller (Web)
│ ╰─╴o.s.r.p.web.PaymentController (internal)
╰─┬⊙ Other
├─╴o.s.r.p.web.PaymentController.PaymentForm (internal)
├─╴o.s.r.p.web.PaymentController.PaymentModel (internal)
╰─╴o.s.r.p.web.PaymentLinks (internal)
Last active
April 19, 2025 23:51
-
-
Save odrotbohm/25bfc913af3c6724e25f85e1fda861a6 to your computer and use it in GitHub Desktop.
Sample rendering of Spring RESTBucks stereotype structure
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment