Skip to content

Commit

Permalink
updated relationships
Browse files Browse the repository at this point in the history
  • Loading branch information
MWedee committed May 5, 2024
1 parent fb78aa0 commit df7fc42
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion documentation/docs/system-architecture/class-diagram.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ classDiagram
BlocklyEditor o-- "0..*" Block
ProfileSettingsPage o-- "0..*" ClassroomPage
BlocklyEditor o-- "1" Documentation
CommunityPage <-- "1" ClassroomSettingsPage
CommunityPage <-- "1" BlocklyEditor
ClassroomSettingsPage *-- "0..*" ClassroomPage
ProfileSettingsPage <-- "1" CommunityPage
CommunityPage --> NetworkSettings
Game <-- "1" CodeCompiler
NavBar --> Icons
HomePage --> NavBar
ClassroomPage --> NetworkSettings
class Game{
-title: String
Expand Down Expand Up @@ -214,8 +214,11 @@ classDiagram
```

## Class Relationships
The class diagram above demonstrates various relationships between different classes within the BlastPad system. The **ProfileSettingsPage** is responsible for the user settings which is linked to the **HomePage**. Furthermore, the **CommunityPage** is dependent on the user's **ProfileSettingsPage** to upload and share games. The **CommunityPage** and the **ClassroomPage** are both dependant on the **NetworkSettings** class to provide an internet connection in order to share and download games. The **NavBar** is responsible for allowing navigation and information about battery and wifi connection through different elements. This class depends on the **Icons** class which returns different SVG elements for buttons and icons to render. The **HomePage** also makes use of the **Icons** class in a similar fashion.


The **Game**, **CodeCompiler**, **BlocklyEditor** and the **Block** classes are all dependent on each other. This is because together, they form the most vital part of the BlastPad which is game creation and compilation. This is what makes the BlastPad such an amazing and fun learning tool.


## `Block`
- Describes the properties necessary to define and create a Blockly code block
Expand Down

0 comments on commit df7fc42

Please sign in to comment.