' SPDX-License-Identifier: AGPL-3.0-or-later ' SPDX-FileCopyrightText: 2023 swt23w23 @startuml 'skinparam linetype ortho skinparam linetype polyline :unauthenticated user\n[person]\n: as UN :customer\n[person]: as Kunde :administrator\n[person]: as Boss package "web application\n[container]" as Package { usecase UC1 as "**Cateringservice** [Component: Spring service] start-up and configuration of the catering-service" usecase UC2 as "**Catalog** [Component: Spring service, controller and JPA entity] catalog management of the catering-service" usecase UC3 as "**Order** [Component: Spring controller] order placement" usecase UC4 as "**Inventory** [Component: Spring service, controller and JPA entity] inventory management of the catering-service" usecase UC5 as "**Customer** [Component: Spring service, controller and JPA entity] customer management of the catering-service" } database DB as "**Database** [Container: H2] database of the catering-service" UN ----> UC1 : "**login**\n[HTTP]" UN ----> UC5 : "**registration**\n[HTTP]" UN ----> UC2 : "**view catalog**\n[HTTP]" Kunde ----> UC2 : "**view catalog**\n[HTTP]" Kunde ----> UC3 : "**plan a catering event**\n[HTTP]" Kunde ---- UC5 : "**delete account, change personal data**\n[HTTP]" Boss ----> UC3 : "**view orders**\n[HTTP]" Boss ----> UC4 : "**manage inventory/staff**\n[HTTP]" Boss ----> UC2 : "**modify catalog**\n[HTTP]" UC2 ----> DB : "**read and write catalog data**\n[JPA]" UC3 ----> DB : "**read and write order data**\n[JPA]" UC4 ----> DB : "**read and write inventory data**\n[JPA]" UC5 ----> DB : "**rean and write customer data**\n[JPA]" @enduml