Community class diagram
classDiagram
%% Define Packages
class nl.hva.elections.backend.api.model {
}
class nl.hva.elections.backend.api.service {
}
class nl.hva.elections.backend.api.controller {
}
%% Model Classes
nl.hva.elections.backend.api.model.Friends {
Long id
User user1
User user2
+getId(): Long
+setId(Long id)
+getUser1(): User
+setUser1(User user1)
+getUser2(): User
+setUser2(User user2)
}
nl.hva.elections.backend.api.model.GroupChat {
Long id
String name
+getId(): Long
+setId(Long id)
+getName(): String
+setName(String name)
}
nl.hva.elections.backend.api.model.Message {
Long id
String text
Long userId
Long groupId
LocalDateTime dateCreated
+getId(): Long
+setId(Long id)
+getText(): String
+setText(String text)
+getUserId(): Long
+setUserId(Long userId)
+getGroupId(): Long
+setGroupId(Long groupId)
+getDateCreated(): LocalDateTime
}
nl.hva.elections.backend.api.model.User {
Long id
String username
String email
String password
String role
LocalDateTime createTime
+getId(): Long
+setId(Long id)
+getUsername(): String
+setUsername(String username)
+getEmail(): String
+setEmail(String email)
+getPassword(): String
+setPassword(String password)
+getRole(): String
+setRole(String role)
+getCreateTime(): LocalDateTime
}
nl.hva.elections.backend.api.model.UserHasGroup {
Long id
User user
GroupChat groupChat
+getId(): Long
+setId(Long id)
+getUser(): User
+setUser(User user)
+getGroupChat(): GroupChat
+setGroupChat(GroupChat groupChat)
}
nl.hva.elections.backend.api.model.UserHasGroupId {
Long userId
Long groupId
+getUserId(): Long
+setUserId(Long userId)
+getGroupId(): Long
+setGroupId(Long groupId)
}
%% Associations
Friends "1" --> "1" User : user1
Friends "1" --> "1" User : user2
UserHasGroup "1" --> "1" User
UserHasGroup "1" --> "1" GroupChat
Message "1" --> "1" GroupChat : groupId
Message "1" --> "1" User : userId
%% Service and Controller Stubs
nl.hva.elections.backend.api.service.GroupChatService
nl.hva.elections.backend.api.service.MessageService
nl.hva.elections.backend.api.service.UserHasGroupService
nl.hva.elections.backend.api.service.UserResultsService
nl.hva.elections.backend.api.controller.GroupChatController
nl.hva.elections.backend.api.controller.MessageController
nl.hva.elections.backend.api.controller.UserHasGroupController
nl.hva.elections.backend.api.controller.UserResultsController