Index: src/main/java/com/db/finki/www/build_board/entity/channels/Channel.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/channels/Channel.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
+++ src/main/java/com/db/finki/www/build_board/entity/channels/Channel.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -0,0 +1,29 @@
+package com.db.finki.www.build_board.entity.channels;
+
+import com.db.finki.www.build_board.entity.compositeId.ChannelId;
+import com.db.finki.www.build_board.entity.threads.Project;
+import com.db.finki.www.build_board.entity.user_types.Developer;
+import jakarta.persistence.*;
+import lombok.Getter;
+import lombok.Setter;
+
+@Table(name = "channel")
+@Entity
+@Getter
+@Setter
+@IdClass(ChannelId.class)
+public class Channel {
+
+    @Id
+    private String name;
+    @Id
+    @ManyToOne
+    @JoinColumn(name = "project_id",referencedColumnName = "id",nullable = false)
+    private Project project;
+
+    private String description;
+
+    @ManyToOne
+    @JoinColumn(name = "developer_id",referencedColumnName = "id",nullable = false)
+    private Developer developer;
+}
Index: src/main/java/com/db/finki/www/build_board/entity/channels/Message.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/channels/Message.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
+++ src/main/java/com/db/finki/www/build_board/entity/channels/Message.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -0,0 +1,36 @@
+package com.db.finki.www.build_board.entity.channels;
+
+import com.db.finki.www.build_board.entity.compositeId.MessageId;
+import com.db.finki.www.build_board.entity.threads.Project;
+import com.db.finki.www.build_board.entity.user_types.Developer;
+import jakarta.persistence.*;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+@Table(name = "messages")
+@Entity
+@Getter
+@Setter
+@NoArgsConstructor
+@IdClass(MessageId.class)
+public class Message {
+    @Id
+    @Column(name = "channel_name")
+    private String name;
+    @Id
+    @ManyToOne
+    @JoinColumn(name = "project_id",referencedColumnName = "id",nullable = false)
+    private Project project;
+    @Id
+    @ManyToOne
+    @JoinColumn(name = "sent_by",referencedColumnName = "id",nullable = false)
+    private Developer sentBy;
+    @Id
+    @Column(name = "sent_at")
+    private LocalDateTime sentAt;
+
+    private String content;
+}
Index: src/main/java/com/db/finki/www/build_board/entity/compositeId/ChannelId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/ChannelId.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
+++ src/main/java/com/db/finki/www/build_board/entity/compositeId/ChannelId.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -0,0 +1,26 @@
+package com.db.finki.www.build_board.entity.compositeId;
+
+import lombok.Getter;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+@Getter
+@Service
+public class ChannelId {
+    private int project;
+    private String name;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        ChannelId channelId = (ChannelId) o;
+        return project == channelId.project && Objects.equals(name, channelId.name);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(project, name);
+    }
+}
Index: src/main/java/com/db/finki/www/build_board/entity/compositeId/MessageId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/MessageId.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
+++ src/main/java/com/db/finki/www/build_board/entity/compositeId/MessageId.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -0,0 +1,35 @@
+package com.db.finki.www.build_board.entity.compositeId;
+
+import com.db.finki.www.build_board.entity.threads.Project;
+import com.db.finki.www.build_board.entity.user_types.Developer;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+import java.util.Objects;
+
+@Getter
+@Setter
+public class MessageId {
+   private String name;
+   private int project;
+   private int sentBy;
+   private LocalDateTime sentAt;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        MessageId messageId = (MessageId) o;
+        return project == messageId.project && sentBy == messageId.sentBy && Objects.equals(name, messageId.name) && Objects.equals(sentAt, messageId.sentAt);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(name, project, sentBy, sentAt);
+    }
+}
Index: src/main/java/com/db/finki/www/build_board/entity/user_types/Developer.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_types/Developer.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
+++ src/main/java/com/db/finki/www/build_board/entity/user_types/Developer.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -0,0 +1,15 @@
+package com.db.finki.www.build_board.entity.user_types;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Entity
+@Table(name = "developer")
+@Getter
+@Setter
+@NoArgsConstructor
+public class Developer extends BBUser{
+}
Index: src/main/java/com/db/finki/www/build_board/entity/user_types/ProjectOwner.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_types/ProjectOwner.java	(revision 3fe435b157b4c15679456b44808b1493ecdec0af)
+++ src/main/java/com/db/finki/www/build_board/entity/user_types/ProjectOwner.java	(revision 31a10a2c5c223b9dad338541ec34e59e1d1f69b5)
@@ -13,4 +13,4 @@
 @Entity
 @Table(name = "project_manager")
-public class ProjectOwner extends BBUser{
+public class ProjectOwner extends Developer{
 }
