Somesystem6

@startuml(id=Context)
scale max 2000x1545
title LDAPP System - System Context
caption Context Diagram for LDAPP System

skinparam {
  shadowing false
  arrowColor #707070
  actorBorderColor #707070
  componentBorderColor #707070
  rectangleBorderColor #707070
  noteBackgroundColor #ffffff
  noteBorderColor #707070
}
actor "Administration User" <<Person>> as 4 #08427b
note right of 4
  System administration user
end note
actor "Super User" <<Person>> as 6 #08427b
note right of 6
  Super User
end note
actor "User" <<Person>> as 2 #08427b
note right of 2
  Drafters, Parliamentary
  Clerks
end note
rectangle 1 <<Software System>> #1168bd [
  LDAPP System
  --
  Legislation drafting,
  amending and publishing
  programme
]
rectangle 8 <<Software System>> #1168bd [
  Legislation.gov.uk
  --
  legislation.gov.uk
]
rectangle 10 <<Software System>> #1168bd [
  Scottish Legislation
  --
  data.parliament.scot
]
rectangle 12 <<Software System>> #1168bd [
  UK Legislation
  --
  data.parliament.uk
]
4 .[#707070].> 1 : Manage User profiles and Projects within Organisation
8 .[#707070].> 1 : Retrieves data from
10 .[#707070].> 1 : Gets member's information data from
6 .[#707070].> 1 : Full control over entire system
12 .[#707070].> 1 : Gets member's information data from
2 .[#707070].> 1 : Maintain projects. Create/submit amendments. Create amendment lists
@enduml

uml diagram

--

@startuml(id=Containers)
scale max 2000x1545
title LDAPP System - Containers
caption Container Diagram for LDAPP System

skinparam {
  shadowing false
  arrowColor #707070
  actorBorderColor #707070
  componentBorderColor #707070
  rectangleBorderColor #707070
  noteBackgroundColor #ffffff
  noteBorderColor #707070
}
actor "Administration User" <<Person>> as 4 #08427b
note right of 4
  System administration user
end note
rectangle 8 <<Software System>> #1168bd [
  Legislation.gov.uk
  --
  legislation.gov.uk
]
rectangle 10 <<Software System>> #1168bd [
  Scottish Legislation
  --
  data.parliament.scot
]
actor "Super User" <<Person>> as 6 #08427b
note right of 6
  Super User
end note
rectangle 12 <<Software System>> #1168bd [
  UK Legislation
  --
  data.parliament.uk
]
actor "User" <<Person>> as 2 #08427b
note right of 2
  Drafters, Parliamentary
  Clerks
end note
package "LDAPP System" <<Software System>> {
  rectangle 23 <<NodeJS>> #dddddd [
    Amendment Generator
    --
    Generates traditional
    amendments from inline
    amendments
  ]
  rectangle 18 <<AngularJS>> #dddddd [
    Angular JS Application
    --
    Client side application in
    browser
  ]
  database 31 <<existDB>> #f5da81 [
    Document Database
    --
    Stores XMLs and PDFs
  ]
  rectangle 14 <<NodeJS>> #dddddd [
    LDAPP Data Services / Resolver
    --
    Handles server side requests
  ]
  rectangle 25 <<Java + RenderX + Apache Tomcat>> #dddddd [
    PDF Generator
    --
    Generated PDFs for Bills,
    Amendments, Lists
  ]
  rectangle 27 <<Apache Tomcat>> #dddddd [
    Spellcheck
    --
    Generated PDFs for Bills,
    Amendments, Lists
  ]
  database 29 <<PostgreSQL>> #f5da81 [
    Workflow Database
    --
    Stores users, projects,
    amendments and lists
    information.
  ]
}
4 .[#707070].> 18 : Manage User profiles and Projects within Organisation
18 .[#707070].> 14 : Views information from and makes requests to
14 .[#707070].> 23 : Sends inline amendmens and receives traditional amendment
14 .[#707070].> 31 : Stores data in using WebDAV and Xquery
14 .[#707070].> 25 : Sends document xml data and receives PDFs
14 .[#707070].> 27 : Sends words and receives spellcheck error data
14 .[#707070].> 29 : Stores data in
8 .[#707070].> 14 : Retrieves data from
10 .[#707070].> 14 : Gets member's information data from
6 .[#707070].> 18 : Full control over entire system
12 .[#707070].> 14 : Gets member's information data from
2 .[#707070].> 18 : Views information from and makes requests to
@enduml

uml diagram

--

@startuml(id=Angular)
scale max 2000x1545
title LDAPP System - Angular JS Application - Components
caption AngularJS Components

skinparam {
  shadowing false
  arrowColor #707070
  actorBorderColor #707070
  componentBorderColor #707070
  rectangleBorderColor #707070
  noteBackgroundColor #ffffff
  noteBorderColor #707070
}
package "Angular JS Application" <<AngularJS>> {
  component 48 <<XML + AngularJS>> #dddddd [
    AKN Model(s)
    --
    Resolver
  ]
  component 45 <<AngularJS>> #dddddd [
    Editor
    --
    XML Editor by Xcential
  ]
  component 47 <<AngularJS>> #dddddd [
    Side Panels
    --
    Extra editor functionalities
  ]
  component 46 <<AngularJS>> #dddddd [
    Structure View
    --
    Shows Editor Hierarchy
  ]
  component 44 <<AngularJS>> #dddddd [
    Workflow
    --
    Handles views and controllers
    for Administration,
    Dashboard, Project and
    Amendment Management
  ]
}
48 .[#707070].> 45 : Provides event handlers and controller functions to
47 .[#707070].> 45 : Sends commands to
46 .[#707070].> 45 : Sends and receives updates from editor
@enduml

uml diagram

--

@startuml(id=LDAPP_Data_Services)
scale max 2000x1545
title LDAPP System - LDAPP Data Services / Resolver - Components
caption LDAPP Data Services Components

skinparam {
  shadowing false
  arrowColor #707070
  actorBorderColor #707070
  componentBorderColor #707070
  rectangleBorderColor #707070
  noteBackgroundColor #ffffff
  noteBorderColor #707070
}
rectangle 23 <<NodeJS>> #dddddd [
  Amendment Generator
  --
  Generates traditional
  amendments from inline
  amendments
]
rectangle 18 <<AngularJS>> #dddddd [
  Angular JS Application
  --
  Client side application in
  browser
]
database 31 <<existDB>> #f5da81 [
  Document Database
  --
  Stores XMLs and PDFs
]
rectangle 8 <<Software System>> #1168bd [
  Legislation.gov.uk
  --
  legislation.gov.uk
]
rectangle 25 <<Java + RenderX + Apache Tomcat>> #dddddd [
  PDF Generator
  --
  Generated PDFs for Bills,
  Amendments, Lists
]
rectangle 10 <<Software System>> #1168bd [
  Scottish Legislation
  --
  data.parliament.scot
]
rectangle 27 <<Apache Tomcat>> #dddddd [
  Spellcheck
  --
  Generated PDFs for Bills,
  Amendments, Lists
]
rectangle 12 <<Software System>> #1168bd [
  UK Legislation
  --
  data.parliament.uk
]
database 29 <<PostgreSQL>> #f5da81 [
  Workflow Database
  --
  Stores users, projects,
  amendments and lists
  information.
]
package "LDAPP Data Services / Resolver" <<NodeJS>> {
  component 41 <<ExpressJS>> #dddddd [
    Resolver
    --
    Handles the resolution and
    processing of document or
    portion URIs
  ]
  component 33 <<ExpressJS>> #dddddd [
    Workflow API
    --
    Provides the endpoints for
    Workflow processing
  ]
}
18 .[#707070].> 41 : Views information from and makes requests to
8 .[#707070].> 33 : Retrieves data from
41 .[#707070].> 31 : Stores and retrieves data using WebDAV and Xquery
33 .[#707070].> 23 : Sends inline amendmens and receives traditional amendment
33 .[#707070].> 25 : Sends document xml data and receives PDFs
33 .[#707070].> 10 : Publishes data to
33 .[#707070].> 27 : Sends words and receives spellcheck error data
33 .[#707070].> 12 : Publishes data to
33 .[#707070].> 29 : Stores data in
@enduml

uml diagram