From 01a44ca73bb0ea7d493c394e3b57b3443a505724 Mon Sep 17 00:00:00 2001 From: MonaS8 <schumo62@gmail.com> Date: Sun, 23 Mar 2025 16:41:24 +0100 Subject: [PATCH] add UML diagrams draft --- UML/classdiagram.uxf | 151 ++++++++++++++++++++++++++++++++++++++ UML/componentdiagram.uxf | 64 ++++++++++++++++ UML/deploymentdiagram.uxf | 21 ++++++ UML/sequencediagram.uxf | 88 ++++++++++++++++++++++ backend | 2 +- frontend | 2 +- 6 files changed, 326 insertions(+), 2 deletions(-) create mode 100644 UML/classdiagram.uxf create mode 100644 UML/componentdiagram.uxf create mode 100644 UML/deploymentdiagram.uxf create mode 100644 UML/sequencediagram.uxf diff --git a/UML/classdiagram.uxf b/UML/classdiagram.uxf new file mode 100644 index 0000000..e4c0c82 --- /dev/null +++ b/UML/classdiagram.uxf @@ -0,0 +1,151 @@ +<diagram program="umletino" version="15.1"><zoom_level>12</zoom_level><help_text>Space for diagram notes</help_text><element><id>UMLClass</id><coordinates><x>984</x><y>60</y><w>780</w><h>348</h></coordinates><panel_attributes>ActivitiesService +-- +-- ++ addNoteCreateActivity(userId: string, roomSession: RoomSession, note: Note): void ++ addNoteUpdateActivity(userId: string, roomSession: RoomSession, note: Note, charactersAdded: number): void ++ addWhiteboardActivity(userId: string, roomSession: RoomSession): void ++ addVideoActivity(userId: string, roomSession: RoomSession, isActive: boolean): void ++ addAudioActivity(userId: string, roomSession: RoomSession, isActive: boolean): void ++ addIsTalkingActivity(userId: string, roomSession: RoomSession, isTalking: boolean): void ++ addBrowserOpenActivity(userId: string, roomSession: RoomSession): void ++ addBrowserCloseActivity(userId: string, roomSession: RoomSession): void ++ addBrowserMouseActivity(userId: string, roomSession: RoomSession): void ++ addBrowserKeyActivity(userId: string, roomSession: RoomSession): void ++ calculatePoints(roomSession: RoomSession): int[] ++ calculateAudioPoints(activities: Activity[]): int ++ calculateVideoPoints(activities: Activity[]): int ++ calculateBrowserPoints(activities: Activity[]): int ++ calculateWhiteboardPoints(activities: Activity[]): int ++ calculateNotePoints(activities: Activity[]): int</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>984</x><y>432</y><w>540</w><h>96</h></coordinates><panel_attributes>SessionPointService +-- +-- ++ getPointsByUser(userId: number): Promise<UserPointsResponseDto> ++ getPointsBySession(sessionId: number): Promise<number></panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>984</x><y>672</y><w>600</w><h>84</h></coordinates><panel_attributes>RoleAssignmentService +-- +-- ++ determineRole(RoomSession: RoomSession, userId: string): void ++ getRole(userId: string): string</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>984</x><y>552</y><w>540</w><h>96</h></coordinates><panel_attributes>ModeAssignmentService +-- +-- ++ determineMode(RoomSession: RoomSession): void ++ getMode(RoomSession: RoomSession): string</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>132</x><y>732</y><w>216</w><h>204</h></coordinates><panel_attributes>Activity +-- ++ id: number ++ user: string ++ room: Room ++ roomSession: RoomSession ++ activity: string ++ numericValue: number ++ noteId: number ++ timestamp: Date +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>600</x><y>732</y><w>276</w><h>168</h></coordinates><panel_attributes>RoomSession +-- ++ id: number ++ room: Room ++ dateOpened: Date ++ dateClosed: Date ++ users: Collection <RoomSessionUser> ++ activities: Collection <Activity> +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>600</x><y>996</y><w>228</w><h>132</h></coordinates><panel_attributes>RoomSessionUser +-- ++ id: number ++ roomSession: RoomSession ++ userId: string ++ name: string +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLPackage</id><coordinates><x>960</x><y>0</y><w>828</w><h>792</h></coordinates><panel_attributes>Services</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLPackage</id><coordinates><x>96</x><y>0</y><w>816</w><h>1452</h></coordinates><panel_attributes>Entities</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>600</x><y>1236</y><w>276</w><h>180</h></coordinates><panel_attributes>SessionPoints +-- ++ id: number ++ roomSessionUser: RoomSessionUser ++ audioPoints: number ++ videoPoints: number ++ browserPoints: number ++ whiteboardPoints: number ++ notePoints: number +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>0</x><y>72</y><w>1008</w><h>768</h></coordinates><panel_attributes>lt=<.</panel_attributes><additional_attributes>110;620;10;620;10;10;820;10</additional_attributes></element><element><id>Relation</id><coordinates><x>336</x><y>768</y><w>288</w><h>60</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +< contains </panel_attributes><additional_attributes>220;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>708</x><y>888</y><w>72</w><h>132</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +has v</panel_attributes><additional_attributes>10;10;10;90</additional_attributes></element><element><id>Relation</id><coordinates><x>708</x><y>1116</y><w>72</w><h>144</h></coordinates><panel_attributes>lt=- +m1=1 +m2=1 +has v</panel_attributes><additional_attributes>10;10;10;100</additional_attributes></element><element><id>UMLClass</id><coordinates><x>600</x><y>384</y><w>276</w><h>228</h></coordinates><panel_attributes>Room +-- ++ id: number ++ name: string ++ password: string ++ category: Category ++ createdAt: Date ++ updatedAt: Date ++ channelId?: string ++ notes = new Collection<Note>(this) ++ whiteboardCanvas +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>720</x><y>600</y><w>72</w><h>156</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +has v</panel_attributes><additional_attributes>10;10;10;110</additional_attributes></element><element><id>UMLClass</id><coordinates><x>156</x><y>444</y><w>288</w><h>168</h></coordinates><panel_attributes>Category +-- ++ id: number ++ name: string ++ owner: User ++ rooms = new Collection<Room>(this) ++ createdAt: Date; ++ updatedAt: Date +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>432</x><y>492</y><w>192</w><h>60</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +contains ></panel_attributes><additional_attributes>10;20;140;20</additional_attributes></element><element><id>UMLClass</id><coordinates><x>156</x><y>108</y><w>324</w><h>216</h></coordinates><panel_attributes>User +-- ++ id: number ++ name: string ++ email: string ++ organization: string ++ password: string ++ categories = new Collection<Category>(this) ++ createdAt = new Date() ++ updatedAt = new Date() ++ role: 'user' | 'admin' = 'user' +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>552</x><y>108</y><w>324</w><h>168</h></coordinates><panel_attributes>Note +-- ++ id: number ++ name: string ++ content ++ createdAt: Date = new Date() ++ updatedAt: Date = new Date() ++ room: Room +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>288</x><y>312</y><w>96</w><h>156</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +create v</panel_attributes><additional_attributes>10;10;10;110</additional_attributes></element><element><id>Relation</id><coordinates><x>720</x><y>264</y><w>108</w><h>144</h></coordinates><panel_attributes>lt=- +m1=1 +m2=0...n +contains ^</panel_attributes><additional_attributes>10;100;10;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>132</x><y>1116</y><w>288</w><h>132</h></coordinates><panel_attributes>Roles +-- ++ id: number ++ roleName: string ++ userId: string ++ roomSession: RoomSession +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>132</x><y>1284</y><w>288</w><h>120</h></coordinates><panel_attributes>Modes +-- ++ id: number ++ mode: string ++ roomSession: RoomSession +-- +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1116</x><y>876</y><w>492</w><h>60</h></coordinates><panel_attributes>was ist mit controller, DTO? +Controller/gateway maybe dann noch hinzufügen + +bg=red +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>1116</x><y>960</y><w>492</w><h>36</h></coordinates><panel_attributes>Pfeilarten schauen + +bg=red +</panel_attributes><additional_attributes></additional_attributes></element></diagram> \ No newline at end of file diff --git a/UML/componentdiagram.uxf b/UML/componentdiagram.uxf new file mode 100644 index 0000000..1d0b8c2 --- /dev/null +++ b/UML/componentdiagram.uxf @@ -0,0 +1,64 @@ +<diagram program="umletino" version="15.1"><zoom_level>8</zoom_level><help_text>Space for diagram notes</help_text><element><id>Text</id><coordinates><x>664</x><y>800</y><w>272</w><h>168</h></coordinates><panel_attributes> Database +// DB Symbol +_umletcode= +fg='white'; + +drawArc(0,0,width,height*2/5,0,180,true) //Parameters (x, y, width, height, start, extent, open) +bg='bg'; +drawArc(0,0,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) +fg='#929292'; +bg='#222222'; +fg='white' +drawLine(0,height/5,0,height*4/5) //Parameters (x1, y1, x2, y2) + +drawLine(width,height/5,width,height*4/5) //Parameters (x1, y1, x2, y2) +bg='bg'; + + //Parameters (x, y, width, height, start, extent, open) + //Parameters (x, y, width, height, start, extent, open) +bg='#222222' + +drawArc(0,height*3/5,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) + +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>0</x><y>152</y><w>120</w><h>40</h></coordinates><panel_attributes>symbol=component +Activity Trackers +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLPackage</id><coordinates><x>936</x><y>0</y><w>304</w><h>224</h></coordinates><panel_attributes>Frontend + +-- + + +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>968</x><y>64</y><w>144</w><h>48</h></coordinates><panel_attributes>symbol=component +Teacher Dashboard</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>968</x><y>144</y><w>240</w><h>48</h></coordinates><panel_attributes>symbol=component +Activity Monitoring --> anderes wort maybe</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>304</x><y>80</y><w>120</w><h>40</h></coordinates><panel_attributes>symbol=component +Activity Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLPackage</id><coordinates><x>64</x><y>224</y><w>800</w><h>504</h></coordinates><panel_attributes>Backend +-- + + +</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>744</x><y>80</y><w>240</w><h>328</h></coordinates><panel_attributes>API Calls</panel_attributes><additional_attributes>10;390;10;10;280;10</additional_attributes></element><element><id>Relation</id><coordinates><x>432</x><y>792</y><w>120</w><h>208</h></coordinates><panel_attributes>lt=-() + +</panel_attributes><additional_attributes>130;240;10;180;10;10</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>536</x><y>968</y><w>96</w><h>32</h></coordinates><panel_attributes>symbol=component +Activities</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>504</x><y>928</y><w>80</w><h>32</h></coordinates><panel_attributes>symbol=component +Points</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>1128</x><y>904</y><w>80</w><h>32</h></coordinates><panel_attributes>symbol=component +Roles</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>1088</x><y>808</y><w>88</w><h>32</h></coordinates><panel_attributes>symbol=component +Modes</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>112</x><y>416</y><w>168</w><h>152</h></coordinates><panel_attributes>symbol=component +Activity System +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>320</x><y>352</y><w>224</w><h>104</h></coordinates><panel_attributes>symbol=component +Points System +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>128</x><y>160</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +Points Calculator</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>352</x><y>392</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +SessionPoints Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>592</x><y>360</y><w>224</w><h>152</h></coordinates><panel_attributes>symbol=component +Role System +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>592</x><y>544</y><w>224</w><h>152</h></coordinates><panel_attributes>symbol=component +Mode System +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>624</x><y>392</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +RoleAssignment Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>624</x><y>448</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +Role Assigner</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>624</x><y>576</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +ModeAssignment Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>624</x><y>632</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +Mode Assignmer</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>0</x><y>48</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +Room Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>360</x><y>600</y><w>160</w><h>40</h></coordinates><panel_attributes>symbol=component +Auth Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>504</x><y>408</y><w>144</w><h>392</h></coordinates><panel_attributes>lt=)- +</panel_attributes><additional_attributes>150;460;150;420;80;420;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>776</x><y>400</y><w>168</w><h>376</h></coordinates><panel_attributes>lt=)- +</panel_attributes><additional_attributes>180;440;180;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>1008</x><y>760</y><w>144</w><h>64</h></coordinates><panel_attributes>lt=-() + +</panel_attributes><additional_attributes>160;60;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>776</x><y>584</y><w>264</w><h>192</h></coordinates><panel_attributes>lt=)- +</panel_attributes><additional_attributes>300;210;300;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>200</x><y>88</y><w>536</w><h>344</h></coordinates><panel_attributes>API Calls</panel_attributes><additional_attributes>10;410;380;10;650;10</additional_attributes></element></diagram> \ No newline at end of file diff --git a/UML/deploymentdiagram.uxf b/UML/deploymentdiagram.uxf new file mode 100644 index 0000000..60349b0 --- /dev/null +++ b/UML/deploymentdiagram.uxf @@ -0,0 +1,21 @@ +<diagram program="umletino" version="15.1"><zoom_level>9</zoom_level><element><id>UMLDeployment</id><coordinates><x>324</x><y>189</y><w>270</w><h>180</h></coordinates><panel_attributes><<device>> +Web Server</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>369</x><y>279</y><w>171</w><h>36</h></coordinates><panel_attributes>symbol=component +Teacher Dashboard</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLDeployment</id><coordinates><x>270</x><y>477</y><w>324</w><h>270</h></coordinates><panel_attributes><<Application Server>> +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>297</x><y>549</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Points System</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>432</x><y>549</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Activities Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>297</x><y>630</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Channel Gateway</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLDeployment</id><coordinates><x>675</x><y>279</y><w>333</w><h>369</h></coordinates><panel_attributes><<Database>> +MySQL</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>693</x><y>333</y><w>288</w><h>279</h></coordinates><panel_attributes>symbol=artifact +Tables</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>702</x><y>369</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Users</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>837</x><y>369</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Activities</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>702</x><y>450</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Points</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>837</x><y>450</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Roles</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>702</x><y>531</y><w>126</w><h>72</h></coordinates><panel_attributes>symbol=component +Modes</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>558</x><y>468</y><w>135</w><h>108</h></coordinates><panel_attributes>lt=<<-</panel_attributes><additional_attributes>130;10;10;100</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>288</x><y>513</y><w>279</w><h>207</h></coordinates><panel_attributes>symbol=component +NestJS Backend</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>486</x><y>333</y><w>117</w><h>198</h></coordinates><panel_attributes>lt=<<. +REST/ WebSocket</panel_attributes><additional_attributes>20;200;10;10</additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>342</x><y>243</y><w>225</w><h>99</h></coordinates><panel_attributes>symbol=component +Vue.js Frontend</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>297</x><y>378</y><w>342</w><h>36</h></coordinates><panel_attributes>seperater pfeil webcocket +auch bei component schaui + +bg=red +</panel_attributes><additional_attributes></additional_attributes></element></diagram> \ No newline at end of file diff --git a/UML/sequencediagram.uxf b/UML/sequencediagram.uxf new file mode 100644 index 0000000..8366476 --- /dev/null +++ b/UML/sequencediagram.uxf @@ -0,0 +1,88 @@ +<diagram program="umletino" version="15.1"><zoom_level>4</zoom_level><help_text>Space for diagram notes</help_text><element><id>UMLActor</id><coordinates><x>216</x><y>0</y><w>24</w><h>44</h></coordinates><panel_attributes>Student</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLActor</id><coordinates><x>244</x><y>0</y><w>24</w><h>44</h></coordinates><panel_attributes>Teacher</panel_attributes><additional_attributes></additional_attributes></element><element><id>Text</id><coordinates><x>908</x><y>0</y><w>28</w><h>28</h></coordinates><panel_attributes>// Text Element +// DB Symbol +_umletcode= +fg='black'; +bg='#222222'; +drawArc(0,0,width,height*2/5,0,180,true) //Parameters (x, y, width, height, start, extent, open) +bg='bg'; +drawArc(0,0,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) +fg='#929292'; +bg='#222222'; +drawRectangle(0,(height+0.5)/5,width,(height)*3/5-1) //Parameters (x, y, width, height) +fg='black' +drawLine(0,height/5,0,height*4/5) //Parameters (x1, y1, x2, y2) +drawLine(width,height/5,width,height*4/5) //Parameters (x1, y1, x2, y2) +bg='bg'; +drawArc(0,height*1/5,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) +drawArc(0,height*2/5,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) +bg='#222222' +drawArc(0,height*3/5,width,height*2/5,180,180,true) //Parameters (x, y, width, height, start, extent, open) +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>288</x><y>16</y><w>40</w><h>12</h></coordinates><panel_attributes>Frontend +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>340</x><y>16</y><w>48</w><h>12</h></coordinates><panel_attributes>Channel Gateway +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>400</x><y>16</y><w>40</w><h>12</h></coordinates><panel_attributes>Actvities Service +</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>452</x><y>16</y><w>56</w><h>12</h></coordinates><panel_attributes>SessionPoints Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>520</x><y>16</y><w>60</w><h>12</h></coordinates><panel_attributes>SessionPoints Controller</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>224</x><y>40</y><w>12</w><h>1236</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;10;3070</additional_attributes></element><element><id>Relation</id><coordinates><x>252</x><y>40</y><w>12</w><h>1236</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;10;3070</additional_attributes></element><element><id>Relation</id><coordinates><x>300</x><y>28</y><w>16</w><h>1248</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;10;10;3100</additional_attributes></element><element><id>Relation</id><coordinates><x>356</x><y>24</y><w>16</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>20;10;10;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>24</y><w>12</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;10;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>476</x><y>24</y><w>24</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;40;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>544</x><y>24</y><w>20</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;30;3110</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>172</x><y>56</y><w>780</w><h>88</h></coordinates><panel_attributes>Actvitiy Recording</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>920</x><y>24</y><w>12</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;10;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>220</x><y>64</y><w>100</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Perform activities (audio, whiteboard, etc.)</panel_attributes><additional_attributes>220;20;20;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>76</y><w>68</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Send activity events</panel_attributes><additional_attributes>150;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>88</y><w>68</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Record activity</panel_attributes><additional_attributes>150;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>100</y><w>516</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Store activities</panel_attributes><additional_attributes>1270;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>116</y><w>516</w><h>20</h></coordinates><panel_attributes>lt=<.. +Confirmation +</panel_attributes><additional_attributes>10;20;1270;30</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>172</x><y>144</y><w>780</w><h>252</h></coordinates><panel_attributes>Points Calculation</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>252</x><y>152</y><w>64</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Close room session</panel_attributes><additional_attributes>140;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>168</y><w>68</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Close Session request</panel_attributes><additional_attributes>150;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>360</x><y>184</y><w>68</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Calculate Points</panel_attributes><additional_attributes>150;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>200</y><w>516</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Load activities for session</panel_attributes><additional_attributes>1270;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>216</y><w>516</w><h>20</h></coordinates><panel_attributes>lt=<.. +Activity records +</panel_attributes><additional_attributes>10;20;1270;20</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>392</x><y>232</y><w>544</w><h>148</h></coordinates><panel_attributes>Loop +-- +[For each user in session]</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>248</y><w>88</w><h>24</h></coordinates><panel_attributes>lt=<<<- +calculateAudioPoints()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>268</y><w>88</w><h>24</h></coordinates><panel_attributes>lt=<<<- +calculateVideoPoints()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>288</y><w>96</w><h>24</h></coordinates><panel_attributes>lt=<<<- +calculateBrowserPoints()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>308</y><w>104</w><h>24</h></coordinates><panel_attributes>lt=<<<- +calculateWhiteboardPoints()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>328</y><w>88</w><h>24</h></coordinates><panel_attributes>lt=<<<- +calculateNotePoints()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>416</x><y>356</y><w>516</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Store session points</panel_attributes><additional_attributes>1270;20;10;20</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>172</x><y>396</y><w>780</w><h>292</h></coordinates><panel_attributes>Points Retrieval</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>252</x><y>412</y><w>64</w><h>16</h></coordinates><panel_attributes>lt=<<<- +View dashboard</panel_attributes><additional_attributes>140;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>432</y><w>252</w><h>16</h></coordinates><panel_attributes>lt=<<<- +getPointsBySession(sessionId)</panel_attributes><additional_attributes>610;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>452</y><w>76</w><h>16</h></coordinates><panel_attributes>lt=<<<- +getPointsBySession(sessionId)</panel_attributes><additional_attributes>10;20;170;20</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>496</y><w>452</w><h>20</h></coordinates><panel_attributes>lt=<.. +RoomSessionUsers +</panel_attributes><additional_attributes>10;20;1110;30</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>476</y><w>452</w><h>20</h></coordinates><panel_attributes>lt=<<<- +Find RoomSessionUsers</panel_attributes><additional_attributes>1110;30;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>528</y><w>96</w><h>24</h></coordinates><panel_attributes>lt=<<<- +getPointsByUser(userId)</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>584</y><w>92</w><h>24</h></coordinates><panel_attributes>lt=<<<- +Sum points by category</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>552</y><w>452</w><h>20</h></coordinates><panel_attributes>lt=<<<- +Find SessionPoints</panel_attributes><additional_attributes>1110;30;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>568</y><w>452</w><h>20</h></coordinates><panel_attributes>lt=<.. +SessionPoints entries +</panel_attributes><additional_attributes>10;20;1110;30</additional_attributes></element><element><id>Relation</id><coordinates><x>480</x><y>620</y><w>80</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Total points</panel_attributes><additional_attributes>180;20;10;20</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>452</x><y>468</y><w>484</w><h>144</h></coordinates><panel_attributes>Loop +-- +[For each user]</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>640</y><w>256</w><h>16</h></coordinates><panel_attributes>lt=<<<- +SessionPointsRequestDto</panel_attributes><additional_attributes>10;20;620;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>660</y><w>72</w><h>24</h></coordinates><panel_attributes>lt=<<<- +Display points</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>172</x><y>688</y><w>780</w><h>292</h></coordinates><panel_attributes>Role Assignment</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>748</x><y>16</y><w>64</w><h>12</h></coordinates><panel_attributes>ModeAssignment Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>824</x><y>16</y><w>68</w><h>12</h></coordinates><panel_attributes>ModeAssignment Controller</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>592</x><y>16</y><w>64</w><h>12</h></coordinates><panel_attributes>RoleAssignment Service</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLGeneric</id><coordinates><x>668</x><y>16</y><w>68</w><h>12</h></coordinates><panel_attributes>RoleAssignment Controller</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>24</y><w>12</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;10;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>700</x><y>24</y><w>20</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;30;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>776</x><y>24</y><w>16</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;20;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>856</x><y>24</y><w>16</w><h>1252</h></coordinates><panel_attributes>lt=.</panel_attributes><additional_attributes>10;10;20;3110</additional_attributes></element><element><id>Relation</id><coordinates><x>252</x><y>712</y><w>64</w><h>16</h></coordinates><panel_attributes>lt=<<<- +View dashboard</panel_attributes><additional_attributes>140;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>732</y><w>412</w><h>16</h></coordinates><panel_attributes>lt=<<<- +assignRoles(sessionId)</panel_attributes><additional_attributes>1010;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>484</x><y>816</y><w>448</w><h>20</h></coordinates><panel_attributes>lt=<.. +Points records +</panel_attributes><additional_attributes>10;20;1100;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>752</y><w>96</w><h>16</h></coordinates><panel_attributes>lt=<<<- +assignRoles(sessionId)</panel_attributes><additional_attributes>10;20;220;20</additional_attributes></element><element><id>Relation</id><coordinates><x>484</x><y>772</y><w>148</w><h>16</h></coordinates><panel_attributes>lt=<<<- +getPointsBySession(sessionId)</panel_attributes><additional_attributes>10;20;350;20</additional_attributes></element><element><id>Relation</id><coordinates><x>484</x><y>792</y><w>448</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Query points for session </panel_attributes><additional_attributes>1100;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>488</x><y>840</y><w>144</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Points by User</panel_attributes><additional_attributes>340;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>860</y><w>80</w><h>24</h></coordinates><panel_attributes>lt=<<<- +determineRoles()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>884</y><w>312</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Store user roles</panel_attributes><additional_attributes>760;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>908</y><w>312</w><h>20</h></coordinates><panel_attributes>lt=<.. +Confirmation +</panel_attributes><additional_attributes>10;20;760;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>932</y><w>100</w><h>16</h></coordinates><panel_attributes>lt=<.. +RoleAssignmentDto[]</panel_attributes><additional_attributes>230;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>956</y><w>412</w><h>20</h></coordinates><panel_attributes>lt=<.. +User roles +</panel_attributes><additional_attributes>10;20;1010;20</additional_attributes></element><element><id>UMLFrame</id><coordinates><x>172</x><y>980</y><w>780</w><h>288</h></coordinates><panel_attributes>Mode Assignment</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>252</x><y>1000</y><w>64</w><h>16</h></coordinates><panel_attributes>lt=<<<- +View dashboard</panel_attributes><additional_attributes>140;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>304</x><y>1024</y><w>568</w><h>16</h></coordinates><panel_attributes>lt=<<<- +assignModes(sessionId)</panel_attributes><additional_attributes>1400;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>300</x><y>1240</y><w>628</w><h>16</h></coordinates><panel_attributes>lt=<.. +Session mode</panel_attributes><additional_attributes>10;20;1550;20</additional_attributes></element><element><id>Relation</id><coordinates><x>780</x><y>1048</y><w>92</w><h>16</h></coordinates><panel_attributes>lt=<<<- +assignMode(sessionId)</panel_attributes><additional_attributes>10;20;210;20</additional_attributes></element><element><id>Relation</id><coordinates><x>488</x><y>1072</y><w>304</w><h>16</h></coordinates><panel_attributes>lt=<<<- +getPointsBySession(sessionId)</panel_attributes><additional_attributes>10;20;740;20</additional_attributes></element><element><id>Relation</id><coordinates><x>488</x><y>1092</y><w>444</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Query points for session </panel_attributes><additional_attributes>1090;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>488</x><y>1112</y><w>448</w><h>20</h></coordinates><panel_attributes>lt=<.. +Points records +</panel_attributes><additional_attributes>10;20;1100;20</additional_attributes></element><element><id>Relation</id><coordinates><x>488</x><y>1132</y><w>304</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Points by User</panel_attributes><additional_attributes>740;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>1152</y><w>80</w><h>24</h></coordinates><panel_attributes>lt=<<<- +determineMode()</panel_attributes><additional_attributes>10;40;80;40;80;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>780</x><y>1180</y><w>152</w><h>16</h></coordinates><panel_attributes>lt=<<<- +Store session mode</panel_attributes><additional_attributes>360;20;10;20</additional_attributes></element><element><id>Relation</id><coordinates><x>780</x><y>1200</y><w>152</w><h>20</h></coordinates><panel_attributes>lt=<.. +Confirmation +</panel_attributes><additional_attributes>10;20;360;20</additional_attributes></element><element><id>Relation</id><coordinates><x>620</x><y>1220</y><w>100</w><h>16</h></coordinates><panel_attributes>lt=<.. +ModeAssignmentDto[]</panel_attributes><additional_attributes>230;20;10;20</additional_attributes></element></diagram> \ No newline at end of file diff --git a/backend b/backend index 74ae5e0..cc5aadf 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit 74ae5e053309c78cee6fd8f98f8a7ad272781260 +Subproject commit cc5aadff3e21aa1075b54ed3fc30802ff5d53091 diff --git a/frontend b/frontend index 9995b40..b15796c 160000 --- a/frontend +++ b/frontend @@ -1 +1 @@ -Subproject commit 9995b40aee8ee5b46a8d766e7594137ecc11873f +Subproject commit b15796cfa5e1bb1001a4b161bb5499e8190c3ae0 -- GitLab