diff --git a/src/main/asciidoc/models/design/catalog.puml b/src/main/asciidoc/models/design/catalog.puml index 068b7c2..0e40943 100644 --- a/src/main/asciidoc/models/design/catalog.puml +++ b/src/main/asciidoc/models/design/catalog.puml @@ -12,7 +12,6 @@ package Salespoint { interface DataInitializer interface Inventory << T > InventoryItem >> class Product - ' + has price,name and categories : Iterable' class Quantity } @@ -22,6 +21,9 @@ package catering.catalog { + findByType(type, sort : Sort) : Iterable + findByEventType(type) : Iterable } + CateringCatalog --o CatalogController : "-catalog" + CateringCatalog ..> Catalog : " Product" + class CatalogController { + CatalogController() + eventcateringCatalog(model : Model) : String @@ -29,29 +31,21 @@ package catering.catalog { + mobilebreakfast(model : Model) : String + rentacookCatalog(model : Model) : String } + CatalogController --> Inventory : "- inventory" + CatalogController ..> Model : "use" + class Consumable { wholesalePrice retailPrice promotionPrice [0..1] } + Consumable --|> Product + class Rentable { pricePerHour } + Rentable --|> Product } -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 index 4615e18..19d3f6e 100644 --- a/src/main/asciidoc/models/design/catalog.svg +++ b/src/main/asciidoc/models/design/catalog.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c3d0ab826fd98e6e03ce89db266b83253c6c22f61c18def34c205ec9754b6ce -size 23609 +oid sha256:5e08203291f2fd3aa3c07f176fe190b5cc86a5f30c6aa93db9d452d43ed1e7fc +size 23616 diff --git a/src/main/asciidoc/models/design/inventory.puml b/src/main/asciidoc/models/design/inventory.puml index cb4d14d..d1e6247 100644 --- a/src/main/asciidoc/models/design/inventory.puml +++ b/src/main/asciidoc/models/design/inventory.puml @@ -25,22 +25,22 @@ package catering.inventory { + InventoryController(inventory : UniqueInventory) + stock(model : Model) : String } + InventoryController ..> Model + InventoryController --> UniqueInventory : "-inventory" + class InventoryInitializer { + InventoryInitializer(inventory : UniqueInventory, catalog : CateringCatalog) + initialize() : void } - + InventoryInitializer --> CateringCatalog : "-cateringCatalog" + InventoryInitializer ..|> DataInitializer + InventoryInitializer ..> Quantity + InventoryInitializer ..> UniqueInventoryItem + InventoryInitializer ---> UniqueInventory : "-inventory" } -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 index 01b7f91..2dac2b4 100644 --- a/src/main/asciidoc/models/design/inventory.svg +++ b/src/main/asciidoc/models/design/inventory.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92b915e95b1d2eb2034f61a3cb22c233f1df09225fb615f321bbd9fb6c8c7bbb -size 19258 +oid sha256:450618987647bff483d8b373a1741ad9feba3bdd188857a5003991ac8759b173 +size 19580 diff --git a/src/main/asciidoc/models/design/order.puml b/src/main/asciidoc/models/design/order.puml index a10bb28..158cb6d 100644 --- a/src/main/asciidoc/models/design/order.puml +++ b/src/main/asciidoc/models/design/order.puml @@ -10,17 +10,18 @@ package Spring { } package Salespoint { + interface OrderManager <<"T > Order">> class Cart class Cash class Order - class Product class Quantity class UserAccount enum OrderStatus } package catering.catalog { - class Product + class Consumable + class Rentable } package catering.order { @@ -31,6 +32,16 @@ package catering.order { + buy(cart : Cart, userAccount : UserAccount) : String + orders(model : Model) : String } + OrderController --> OrderManager : "-orderManager" + OrderController ..> Model + OrderController ..> UserAccount + OrderController ..> Order + OrderController ..> OrderStatus + OrderController ..> Cash + OrderController ..> Quantity + OrderController ..> Cart + OrderController ..> Consumable + OrderController ..> Rentable } @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 index e6021d3..421131c 100644 --- a/src/main/asciidoc/models/design/order.svg +++ b/src/main/asciidoc/models/design/order.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d34b4436d66efaf662b9d9ae4009ec8494e86f1aa27fa54ffa8cacd304bb0d64 -size 19156 +oid sha256:9994118587dfa7eb264e824a880abce5c4aed0dc1a0f5befcc89b3b5daa9a332 +size 25307 diff --git a/src/main/asciidoc/models/design/user.puml b/src/main/asciidoc/models/design/user.puml index 7b1177f..e216e88 100644 --- a/src/main/asciidoc/models/design/user.puml +++ b/src/main/asciidoc/models/design/user.puml @@ -4,37 +4,51 @@ 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 + interface UserAccountManagement + interface DataInitalizer + class UserAccount + UserAccount - Role : "0...*" + class Role } package catering.users { - 'what is on the left will be higher up' - UserAccount <|-- AdministratorAccount - UserAccount <|-- CustomerAccount - class AdministratorAccount { - - } - class CustomerAccount { + class Customer { - address - email + + Customer(userAccount : UserAccount, address : String, email : String) + + getAddress() : String + + setAddress() : String + + getUserAccount() : UserAccount } + Customer --> UserAccount : "-userAccount" - Class UserController { + class UserController { + UserController() + register(form : Form, model : Model) : String + customers(model : Model) : String } - - UserController --> "1" PersistentUserAccountManager + UserController --> CustomerManagement : "-customerManagement" + class CustomerManagement { + + CustomerManagement(customers : CustomerRepository, userAccounts : UserAccountsManagement) + + createCustomer(form : RegistrationForm) : Customer + + findAll() : Streamable + } + CustomerManagement ---> UserAccountManagement : "-userAccounts" + CustomerManagement ...> Role : "uses" + class CustomerDataInitalizer { + + CustomerDataInitalizer(userAcccountManager : UserAccountManagement, customerRepository : CustomerRepository) + + initalize() : void + } + CustomerDataInitalizer --> CustomerManagement : "-customerManagement" + CustomerDataInitalizer --> UserAccountManagement : "-userAcccountManagement" + CustomerDataInitalizer ..|> DataInitalizer } + + + + '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 index 0f3bead..89d8cf3 100644 --- a/src/main/asciidoc/models/design/user.svg +++ b/src/main/asciidoc/models/design/user.svg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ca5f58e4fa780cb76854530f2053d81dafffbc02f4ededae189be75cd98a857 -size 17479 +oid sha256:4a40991837f8d8da8864aa1709bccee948e3ec542c72a43584a6d92e4ed8fa31 +size 22780