From 1f9d756fa983551b6a106b13240920585388f050 Mon Sep 17 00:00:00 2001 From: Theo Reichert Date: Thu, 2 Nov 2023 06:33:27 +0100 Subject: [PATCH] Add proposals for packaging --- src/main/asciidoc/models/design/catalog.puml | 57 +++++++++++++++++++ src/main/asciidoc/models/design/catalog.svg | 3 + .../asciidoc/models/design/inventory.puml | 46 +++++++++++++++ src/main/asciidoc/models/design/inventory.svg | 3 + src/main/asciidoc/models/design/order.puml | 36 ++++++++++++ src/main/asciidoc/models/design/order.svg | 3 + src/main/asciidoc/models/design/user.puml | 40 +++++++++++++ src/main/asciidoc/models/design/user.svg | 3 + 8 files changed, 191 insertions(+) create mode 100644 src/main/asciidoc/models/design/catalog.puml create mode 100644 src/main/asciidoc/models/design/catalog.svg create mode 100644 src/main/asciidoc/models/design/inventory.puml create mode 100644 src/main/asciidoc/models/design/inventory.svg create mode 100644 src/main/asciidoc/models/design/order.puml create mode 100644 src/main/asciidoc/models/design/order.svg create mode 100644 src/main/asciidoc/models/design/user.puml create mode 100644 src/main/asciidoc/models/design/user.svg diff --git a/src/main/asciidoc/models/design/catalog.puml b/src/main/asciidoc/models/design/catalog.puml new file mode 100644 index 0000000..068b7c2 --- /dev/null +++ b/src/main/asciidoc/models/design/catalog.puml @@ -0,0 +1,57 @@ +@startuml +skinparam linetype ortho +skinparam groupInheritance 2 + +package Spring { + interface Model + class Sort +} + +package Salespoint { + interface Catalog << T > Product >> + interface DataInitializer + interface Inventory << T > InventoryItem >> + class Product + ' + has price,name and categories : Iterable' + class Quantity +} + +package catering.catalog { + interface CateringCatalog { + + DEFAULT_SORT : Sort + + findByType(type, sort : Sort) : Iterable + + findByEventType(type) : Iterable + } + class CatalogController { + + CatalogController() + + eventcateringCatalog(model : Model) : String + + partyserviceCatalog(model : Model) : String + + mobilebreakfast(model : Model) : String + + rentacookCatalog(model : Model) : String + } + class Consumable { + wholesalePrice + retailPrice + promotionPrice [0..1] + } + class Rentable { + pricePerHour + } +} + +CateringCatalog --o "-catalog" CatalogController +'- for listing entries to customers' + +Inventory "- inventory" <-- CatalogController +'- for checking availabilty' + +Model "use" <.. CatalogController +'- for generating html for a view' + + +Catalog <.. " Product" CateringCatalog + +Product <|-- Consumable +Product <|-- Rentable + +@enduml \ No newline at end of file diff --git a/src/main/asciidoc/models/design/catalog.svg b/src/main/asciidoc/models/design/catalog.svg new file mode 100644 index 0000000..4615e18 --- /dev/null +++ b/src/main/asciidoc/models/design/catalog.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c3d0ab826fd98e6e03ce89db266b83253c6c22f61c18def34c205ec9754b6ce +size 23609 diff --git a/src/main/asciidoc/models/design/inventory.puml b/src/main/asciidoc/models/design/inventory.puml new file mode 100644 index 0000000..cb4d14d --- /dev/null +++ b/src/main/asciidoc/models/design/inventory.puml @@ -0,0 +1,46 @@ +@startuml +'maybe for sbruder since he did videoshop:inventory-increment' +'maybe TR0N-ZEN since he did videoshop:keyword-search' +skinparam linetype ortho +skinparam groupInheritance 2 + +package Spring { + interface Model + 'havent used Assert yet as in example' +} + +package Salespoint { + interface DataInitializer + class Quantity + interface UniqueInventory << T > UniqueInventoryItem >> + class UniqueInventoryItem +} + +package catering.catalog { + interface CateringCatalog +} + +package catering.inventory { + class InventoryController { + + InventoryController(inventory : UniqueInventory) + + stock(model : Model) : String + } + class InventoryInitializer { + + InventoryInitializer(inventory : UniqueInventory, catalog : CateringCatalog) + + initialize() : void + } + + +} + +CateringCatalog "1 -cateringCatalog" <-- InventoryInitializer +DataInitializer <|.. InventoryInitializer +Quantity <.. InventoryInitializer +UniqueInventoryItem <.. InventoryInitializer +UniqueInventory "1 -inventory" <-- InventoryInitializer + +Model <.. InventoryController +UniqueInventory "1 -inventory" <-- InventoryController + + +@enduml \ No newline at end of file diff --git a/src/main/asciidoc/models/design/inventory.svg b/src/main/asciidoc/models/design/inventory.svg new file mode 100644 index 0000000..01b7f91 --- /dev/null +++ b/src/main/asciidoc/models/design/inventory.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92b915e95b1d2eb2034f61a3cb22c233f1df09225fb615f321bbd9fb6c8c7bbb +size 19258 diff --git a/src/main/asciidoc/models/design/order.puml b/src/main/asciidoc/models/design/order.puml new file mode 100644 index 0000000..a10bb28 --- /dev/null +++ b/src/main/asciidoc/models/design/order.puml @@ -0,0 +1,36 @@ +@startuml +'maybe for mathis kral since he did videoshop:order-limit' +'maybe for eren since he did videoshop:clickable-cart-item' +'maybe for erik since he did videoshop:cart-remove' +skinparam linetype ortho +skinparam groupInheritance 2 + +package Spring { + interface Model +} + +package Salespoint { + class Cart + class Cash + class Order + class Product + class Quantity + class UserAccount + enum OrderStatus +} + +package catering.catalog { + class Product +} + +package catering.order { + class OrderController { + + OrderController() + + initializeCart() : Cart + + addProduct(product : Product, amount : int, cart: Cart) + + buy(cart : Cart, userAccount : UserAccount) : String + + orders(model : Model) : String + } +} + +@enduml \ No newline at end of file diff --git a/src/main/asciidoc/models/design/order.svg b/src/main/asciidoc/models/design/order.svg new file mode 100644 index 0000000..e6021d3 --- /dev/null +++ b/src/main/asciidoc/models/design/order.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34b4436d66efaf662b9d9ae4009ec8494e86f1aa27fa54ffa8cacd304bb0d64 +size 19156 diff --git a/src/main/asciidoc/models/design/user.puml b/src/main/asciidoc/models/design/user.puml new file mode 100644 index 0000000..7b1177f --- /dev/null +++ b/src/main/asciidoc/models/design/user.puml @@ -0,0 +1,40 @@ +@startuml +'maybe for sneidc since he did videoshop:cahnge-password' +skinparam linetype ortho +skinparam groupInheritance 2 + +package Salespoint { + Class PersistentUserAccountManager + Interface UserAccountRepository + Class UserAccount + Class Role + PersistentUserAccountManager "1" <-- UserAccountRepository + UserAccountRepository o-- UserAccount + UserAccount - "0...*" Role +} + +package catering.users { + 'what is on the left will be higher up' + UserAccount <|-- AdministratorAccount + UserAccount <|-- CustomerAccount + class AdministratorAccount { + + } + class CustomerAccount { + - address + - email + } + + Class UserController { + + UserController() + + register(form : Form, model : Model) : String + + customers(model : Model) : String + } + + UserController --> "1" PersistentUserAccountManager + +} + +'do employees need an account?' + +@enduml \ No newline at end of file diff --git a/src/main/asciidoc/models/design/user.svg b/src/main/asciidoc/models/design/user.svg new file mode 100644 index 0000000..0f3bead --- /dev/null +++ b/src/main/asciidoc/models/design/user.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ca5f58e4fa780cb76854530f2053d81dafffbc02f4ededae189be75cd98a857 +size 17479