41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
@startuml OmegaV.no v2 C1 Diagram
|
|
'!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
|
|
!include <C4/C4_Container>
|
|
|
|
' Define output quality
|
|
skinparam dpi 300
|
|
|
|
' Define the user roles
|
|
Person(BoardMember, "Styremedlem", "Prøvemedlem, Noechelmedlem, eller aktiv Pang!")
|
|
Person_Ext(NormalMember, "Medlem", "Normale, ikke-styre medlemmer")
|
|
|
|
' Define the different containers
|
|
System_Boundary(c1, "omegav.no website") {
|
|
Container(InternalWebsite, "Intranett", "Single page application", "Internal system, change member info, add OBS and Komp wares, etc.")
|
|
Container(PublicWebsite, "Public website", "Staticly generate page", "Front posts, information, and component search.")
|
|
Container(ApiServer, "API server", "Software system", "System to handle API calls")
|
|
}
|
|
|
|
' Define the misc systems
|
|
System(SSO, "SSO", "Authentication and authroization provider")
|
|
System_Ext(Email, "E-mail", "Email provider")
|
|
|
|
' --------------------------------------------------------------------
|
|
|
|
' Define the user to website relationship
|
|
Rel(NormalMember, PublicWebsite, "Uses", "HTTP/HTTPS")
|
|
Rel(BoardMember, PublicWebsite, "Uses", "HTTP/HTTPS")
|
|
Rel(BoardMember, InternalWebsite, "Uses", "HTTPS")
|
|
|
|
' Define the website to API relationships
|
|
Rel(InternalWebsite, ApiServer, "Uses for everything")
|
|
Rel(PublicWebsite, ApiServer, "Uses for komp search")
|
|
|
|
' Define the website to SSO relationship
|
|
Rel_Down(InternalWebsite, SSO, "Authenticate user")
|
|
Rel_Up(ApiServer, SSO, "Authorize user")
|
|
Rel_Up(SSO, Email, "Uses")
|
|
Rel_Up(Email, BoardMember, "Sends password resets, etc")
|
|
|
|
'SHOW_LEGEND()
|
|
@enduml |