An instant messaging application with a self-hostable server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 

285 lines
5.7 KiB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.3.0">
<zoom_level>10</zoom_level>
<element>
<id>UMLClass</id>
<coordinates>
<x>50</x>
<y>60</y>
<w>210</w>
<h>240</h>
</coordinates>
<panel_attributes>DBUser
--
id: Long
nick: String
name: String
chats: Set&lt;DBChat&gt;
status: UserStatus
created: Instant
lastSeen: Instant
deleted: Boolean
avatar: DBAvatar
passwordHash: String
authToken: String
authTokenExpiration: Instant
--
+toCommon(): User</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>380</x>
<y>330</y>
<w>290</w>
<h>160</h>
</coordinates>
<panel_attributes>DBMessage
--
id: Long
sender: DBUser
forwarded: Boolean
deleted: Boolean
statuses: Map&lt;DBUser, DBMessageStatus&gt;
text: String
attachment: DBAttachment
--
+toCommon(): Message</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>770</x>
<y>320</y>
<w>210</w>
<h>100</h>
</coordinates>
<panel_attributes>DBMessageStatus
--
id: Long
status: MessageStatus
timestamp: Instant
--
+toCommon(): MessageStatus</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>770</x>
<y>440</y>
<w>180</w>
<h>120</h>
</coordinates>
<panel_attributes>DBAttachment
--
id: Long
name: String
type: AttachmentType
url: String
--
+toCommon(): Attachment</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>510</x>
<y>70</y>
<w>200</w>
<h>180</h>
</coordinates>
<panel_attributes>DBChat
--
id: Long
name: String
members: Set&lt;DBUser&gt;
admins: Set&lt;DBUser&gt;
messages: Set&lt;DBMessage&gt;
avatar: DBAvatar
allowJoining: Boolean
allowAttachments: Boolean
--
+toCommon(): Chat</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>250</x>
<y>100</y>
<w>280</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-&gt;
m1=0..n
m2=0..n</panel_attributes>
<additional_attributes>10.0;10.0;260.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>600</x>
<y>240</y>
<w>50</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=0..n</panel_attributes>
<additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>660</x>
<y>360</y>
<w>130</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=0..n</panel_attributes>
<additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>660</x>
<y>470</y>
<w>130</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=0..1</panel_attributes>
<additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>140</x>
<y>290</y>
<w>260</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;-
m1=0..n</panel_attributes>
<additional_attributes>10.0;10.0;10.0;130.0;240.0;130.0</additional_attributes>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>10</x>
<y>0</y>
<w>1010</w>
<h>590</h>
</coordinates>
<panel_attributes>envoy.server.data
--
bg=#CCCCCC</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>90</x>
<y>680</y>
<w>170</w>
<h>130</h>
</coordinates>
<panel_attributes>User
--
id: long
nick: String
name: String
status: UserStatus
created: Instant
deleted: boolean</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>340</x>
<y>680</y>
<w>190</w>
<h>100</h>
</coordinates>
<panel_attributes>UserStatus
--
_+ONLINE: UserStatus_
_+AWAY: UserStatus_
_+BUSY: UserStatus_
_+OFFLINE: UserStatus_</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>250</x>
<y>730</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>340</x>
<y>150</y>
<w>100</w>
<h>80</h>
</coordinates>
<panel_attributes>DBAvatar
--
id: Long
edited: Instant
url: String
layer=1</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>250</x>
<y>190</y>
<w>110</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
m1=0..1</panel_attributes>
<additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>430</x>
<y>190</y>
<w>100</w>
<h>40</h>
</coordinates>
<panel_attributes>lt=&lt;-
m1=0..1</panel_attributes>
<additional_attributes>10.0;10.0;80.0;10.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>610</x>
<y>680</y>
<w>180</w>
<h>130</h>
</coordinates>
<panel_attributes>Chat
--
id: long
name: String
deceased: boolean
members: Set&lt;User&gt;
admins: Set&lt;User&gt;
messages: List&lt;Message&gt;</panel_attributes>
<additional_attributes/>
</element>
</diagram>