feat(README): UML Diagram

This commit is contained in:
Orangerot 2024-08-16 22:04:42 +02:00
parent cfc9aa8a44
commit 58e390d3a0

View file

@ -24,38 +24,109 @@ cmake --build build
### UML Diagram ### UML Diagram
```plantuml ```plantuml
class Application { @startuml
allowmixing
set namespaceSeparator none
skinparam ranksep 10
package C++ <<Frame>> {
class Application {
QGuiApplication app QGuiApplication app
QmlComponent component QmlComponent component
SportModel model SportModel model
FilterModel<SportModel> filter FilterModel<SportModel> filter
} }
class SportModel { class SportModel {
String discipline String discipline
<EventInfo> model <EventInfo> model
request(String discipline) request(String discipline)
parseData() parseData()
} }
class FilterModel {} class FilterModel {
void setFilterFixedString(String)
}
class EventInfo { class EventInfo {
String eventName String eventName
List<Competitor> competitors List<Competitor> competitors
} }
class Competitor { class Competitor {
String name String name
String code String code
String noc String noc
}
} }
package QML <<Frame>> {
component EventInfoPage {
component [Page] as EIPage {
component [ToolBar] as EIToolBar
component [ListView] as EILisView
}
}
EIToolBar -[hidden]- EILisView
component EventsPage {
component [Page] as EPage {
component [ToolBar] as EToolBar
component [Column] as EColumn {
component [Row] as ERow {
component [ComboBox] as EComboBox
component [TextField] as ETextField
}
component [ListView] as EListView
}
}
}
EToolBar -[hidden]- EColumn
ERow -[hidden]- EListView
component application.qml {
component ApplicationWindow {
component StackView
}
}
}
'application.qml -u- a
'Application -r- a
Application *-- "1" SportModel Application *-- "1" SportModel
Application *-- "1" FilterModel Application *-- "1" FilterModel
FilterModel "1" o-- "1" SportModel
SportModel *-- "0..*" EventInfo SportModel *-- "0..*" EventInfo
EventInfo *-- "0..*" Competitor EventInfo *-- "0..*" Competitor
Application <.l. application.qml
StackView <.. EventInfoPage
StackView <.. EventsPage
EComboBox "request()" .> SportModel
EComboBox -[hidden]u- ETextField
SportModel "View" .> EListView
FilterModel "View" .> EListView
ETextField "Control" .r.> FilterModel
EILisView <. "View" Competitor
cloud api.olympics.com
() REST
REST - api.olympics.com
SportModel -( REST
application.qml -[hidden]u- Application
@enduml
``` ```
## Authors ## Authors