Add proposals for packaging

This commit is contained in:
Theo Reichert 2023-11-02 06:33:27 +01:00 committed by Simon Bruder
parent e49cd6c3c5
commit 1f9d756fa9
Signed by: simon
GPG key ID: 8D3C82F9F309F8EC
8 changed files with 191 additions and 0 deletions

View file

@ -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 <.. "<bind> <T->Product" CateringCatalog
Product <|-- Consumable
Product <|-- Rentable
@enduml

BIN
src/main/asciidoc/models/design/catalog.svg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -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

BIN
src/main/asciidoc/models/design/inventory.svg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -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

BIN
src/main/asciidoc/models/design/order.svg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -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

BIN
src/main/asciidoc/models/design/user.svg (Stored with Git LFS) Normal file

Binary file not shown.