C4-diagrams/c1.puml
Sebastian H. Gabrielli 1962199ddf Add C1 diagram
2024-01-03 15:56:02 +01:00

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