swt23w23/src/main/asciidoc/models/design/topLevelArchitecture.puml
Simon Bruder bac025fd0a
Make project REUSE compliant
This finally makes the licensing under AGPL-3.0-or-later explicit after
I got the okay from the kickstart source owners.

This also checks the REUSE compliance in a pre commit hook, and
therefore also in CI.
2023-12-11 17:59:14 +01:00

56 lines
1.7 KiB
Plaintext

' 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