Index: src/main/java/com/db/finki/www/build_board/entity/thread/EmbdedableThread.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/EmbdedableThread.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
+++ src/main/java/com/db/finki/www/build_board/entity/thread/EmbdedableThread.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -0,0 +1,20 @@
+package com.db.finki.www.build_board.entity.thread;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Getter
+@Setter
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+@Entity
+@Table(name = "embdedable_thread")
+public class EmbdedableThread extends BBThread {
+    @Id
+    Integer id ;
+}
Index: src/main/java/com/db/finki/www/build_board/entity/thread/Topic.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/Topic.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/entity/thread/Topic.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -14,5 +14,5 @@
 @Entity
 @Table(name = "topic_thread")
-public class Topic extends BBThread implements NamedThread {
+public class Topic extends EmbdedableThread implements NamedThread {
 
     private String title;
@@ -24,5 +24,5 @@
     @ManyToOne
     @JoinColumn(name = "parent_id")
-    private BBThread parent;
+    private Project parent;
 
     @Override
Index: src/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/Discussion.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/Discussion.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/Discussion.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -2,4 +2,5 @@
 
 import com.db.finki.www.build_board.entity.thread.BBThread;
+import com.db.finki.www.build_board.entity.thread.EmbdedableThread;
 import jakarta.persistence.*;
 import lombok.Getter;
@@ -10,7 +11,7 @@
 @Getter
 @Setter
-public class Discussion extends BBThread {
+public class Discussion extends EmbdedableThread {
     @ManyToOne
     @JoinColumn(name = "parent_id")
-    private BBThread parent;
+    private EmbdedableThread parent;
 }
Index: src/main/java/com/db/finki/www/build_board/repository/thread/DiscussionRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/DiscussionRepository.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/repository/thread/DiscussionRepository.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -3,8 +3,19 @@
 import com.db.finki.www.build_board.entity.thread.discussion_thread.Discussion;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface DiscussionRepository extends JpaRepository<Discussion,Long> {
+public interface DiscussionRepository extends JpaRepository<Discussion, Long> {
     Discussion findDiscussionById(int discussionId);
+
+    @Modifying
+    @Query(
+            value = """
+                    delete from discussion_thread dt where id=:id
+                """, nativeQuery = true
+    )
+    void deleteById(@Param("id") long discussionId);
 }
Index: src/main/java/com/db/finki/www/build_board/repository/thread/EmbdedableRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/EmbdedableRepo.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
+++ src/main/java/com/db/finki/www/build_board/repository/thread/EmbdedableRepo.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -0,0 +1,9 @@
+package com.db.finki.www.build_board.repository.thread;
+
+import com.db.finki.www.build_board.entity.thread.EmbdedableThread;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface EmbdedableRepo extends JpaRepository<EmbdedableThread,Long> {
+}
Index: src/main/java/com/db/finki/www/build_board/repository/thread/ProjectRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/ProjectRepository.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/repository/thread/ProjectRepository.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -12,5 +12,5 @@
 @Repository
 public interface ProjectRepository extends JpaRepository<Project, Long>, JpaSpecificationExecutor<Project> {
-    Project findByTitleStartingWith(String title);
+    Project findByTitle(String title);
     void deleteByTitle(String title);
     List<Project> findAllByUserId(int userId);
Index: src/main/java/com/db/finki/www/build_board/repository/thread/TopicRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/TopicRepository.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/repository/thread/TopicRepository.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -18,5 +18,5 @@
     @Modifying
     @Query(value="""
-            delete from thread where id=:id
+            delete from topic_thread where id=:id
             """,
             nativeQuery = true
Index: src/main/java/com/db/finki/www/build_board/service/thread/impl/DiscussionService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/DiscussionService.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/service/thread/impl/DiscussionService.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -2,4 +2,5 @@
 
 import com.db.finki.www.build_board.entity.thread.BBThread;
+import com.db.finki.www.build_board.entity.thread.EmbdedableThread;
 import com.db.finki.www.build_board.entity.thread.discussion_thread.Discussion;
 import com.db.finki.www.build_board.entity.thread.discussion_thread.VDiscussion;
@@ -7,4 +8,5 @@
 import com.db.finki.www.build_board.repository.thread.BBThreadRepository;
 import com.db.finki.www.build_board.repository.thread.DiscussionRepository;
+import com.db.finki.www.build_board.repository.thread.EmbdedableRepo;
 import com.db.finki.www.build_board.repository.thread.VDiscussRepo;
 import jakarta.transaction.Transactional;
@@ -18,10 +20,10 @@
     private final VDiscussRepo vDiscussRepo;
     private final DiscussionRepository discussionRepository;
-    private final BBThreadRepository threadRepository;
+    private final EmbdedableRepo embdedableRepo;
 
-    public DiscussionService(VDiscussRepo vDiscussRepo, DiscussionRepository discussionRepository, BBThreadRepository threadRepository) {
+    public DiscussionService(VDiscussRepo vDiscussRepo, DiscussionRepository discussionRepository, EmbdedableRepo embdedableRepo) {
         this.vDiscussRepo = vDiscussRepo;
         this.discussionRepository = discussionRepository;
-        this.threadRepository = threadRepository;
+        this.embdedableRepo = embdedableRepo;
     }
 
@@ -56,5 +58,5 @@
     public Discussion create(String content, int parentId, BBUser user){
 
-        BBThread parent = threadRepository.findById(parentId);
+        EmbdedableThread parent = embdedableRepo.findById((long) parentId).get();
 
         Discussion reply = new Discussion();
@@ -73,6 +75,5 @@
 
     public void delete(int threadId) {
-        Discussion d = discussionRepository.findDiscussionById(threadId);
-        discussionRepository.delete(d);
+        discussionRepository.deleteById((long) threadId);
     }
 
Index: src/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -44,5 +44,5 @@
 
     public Project getByTitle(String title) {
-        return projectRepository.findByTitleStartingWith(title);
+        return projectRepository.findByTitle(title);
     }
 
Index: src/main/java/com/db/finki/www/build_board/service/thread/impl/TopicServiceImpl.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/TopicServiceImpl.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/service/thread/impl/TopicServiceImpl.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -1,4 +1,5 @@
 package com.db.finki.www.build_board.service.thread.impl;
 
+import com.db.finki.www.build_board.entity.thread.Project;
 import com.db.finki.www.build_board.entity.user_type.BBUser;
 import com.db.finki.www.build_board.entity.thread.BBThread;
@@ -35,5 +36,5 @@
     }
 
-    public Topic create(String title, String description, BBUser user, BBThread parent){
+    public Topic create(String title, String description, BBUser user, Project parent){
         Topic topic = new Topic();
         
Index: src/main/java/com/db/finki/www/build_board/service/thread/itf/TopicService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/itf/TopicService.java	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/java/com/db/finki/www/build_board/service/thread/itf/TopicService.java	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -1,4 +1,5 @@
 package com.db.finki.www.build_board.service.thread.itf;
 
+import com.db.finki.www.build_board.entity.thread.Project;
 import com.db.finki.www.build_board.entity.user_type.BBUser;
 import com.db.finki.www.build_board.entity.thread.BBThread;
@@ -8,5 +9,5 @@
 public interface TopicService {
     Topic create(String title, String description, BBUser user);
-    Topic create(String title, String description, BBUser user, BBThread parent); 
+    Topic create(String title, String description, BBUser user, Project parent);
     List<Topic> getAll();
     Topic getByTitle(String title);
Index: src/main/resources/db/migration/V1__init_ddl.sql
===================================================================
--- src/main/resources/db/migration/V1__init_ddl.sql	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/resources/db/migration/V1__init_ddl.sql	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -77,9 +77,19 @@
     user_id INT REFERENCES users (id) NOT NULL --IS_CREATED_BY TOTAL 
 );
+CREATE TABLE project_thread
+(
+    title    VARCHAR(256) UNIQUE NOT NULL,
+    repo_url TEXT,
+    id       INT PRIMARY KEY REFERENCES thread (id) on delete cascade --INHERITANCE
+);
+create table embdedable_thread(
+   id int primary key references thread(id) on delete cascade
+);
+
 CREATE TABLE topic_thread
 (
     title     VARCHAR(256) NOT NULL,
     id        INT PRIMARY KEY REFERENCES thread(id) on delete cascade, --INHERITANCE
-    parent_id int REFERENCES thread(id) on delete CASCADE  --PARENT 
+    parent_id int REFERENCES project_thread(id) on delete CASCADE  --PARENT
 );
 create table topic_guidelines
@@ -93,12 +103,7 @@
 (
     id  INT PRIMARY KEY REFERENCES  thread(id) on delete cascade, --INHERITANCE,
-    parent_id int REFERENCES thread(id) on delete CASCADE NOT NULL --PARENT TOTAL BIGINT
-);
-CREATE TABLE project_thread
-(
-    title    VARCHAR(256) UNIQUE NOT NULL,
-    repo_url TEXT,
-    id       INT PRIMARY KEY REFERENCES thread (id) on delete cascade --INHERITANCE
-);
+    parent_id int REFERENCES embdedable_thread(id)  NOT NULL --on delete CASCADE ne tuku preku trigger PARENT TOTAL BIGINT
+);
+
 CREATE TABLE likes
 (
@@ -329,5 +334,9 @@
     FROM v_project_thread p
     WHERE NEW.id = p.id;
-    IF not check_if_user_exists_in('developer_associated_with_project', 'developer_id', usrId::text) THEN
+    IF not EXISTS(
+      select 1
+      from developer_associated_with_project dawp
+      where dawp.project_id=new_project_id and dawp.developer_id=usrId
+    ) THEN
         INSERT INTO developer_associated_with_project(project_id, developer_id, started_at)
             values (new_project_id, usrId, NOW());
@@ -419,7 +428,8 @@
     where t.thread_id = OLD.thread_id 
  ) 
-THEN 
+THEN
+    delete from discussion_thread where parent_id=OLD.thread_id;
     DELETE FROM topic_thread where id = OLD.thread_id; 
-	delete from thread where id =  OLD.thread_id;
+-- 	delete from thread where id =  OLD.thread_id;
  END IF; 
  RETURN OLD;
@@ -427,4 +437,23 @@
 $function$
 ;
+create or replace function fn_aa_rm_orphan_dics()
+    returns trigger
+    language plpgsql
+as
+$$
+BEGIN
+--     RAISE NOTICE '%',OLD.id;
+
+    delete from discussion_thread dt
+    where dt.parent_id=OLD.id;
+    delete from embdedable_thread
+    where id = OLD.id;
+    delete from thread t
+    where t.id=OLD.id;
+    RETURN OLD;
+END;
+$$;
+
+
 
 -- create or replace function fn_remove_thread()
@@ -487,4 +516,16 @@
     for each row
 execute function fn_insert_general_for_project();
+
+create or replace trigger tr_rm_orphan_disc
+    after delete    
+    on discussion_thread
+    for each row
+execute function fn_aa_rm_orphan_dics();
+
+create or replace trigger tr_rm_orphan_disc
+    after delete
+    on topic_thread
+    for each row
+execute function fn_aa_rm_orphan_dics();
 
 -- create or replace trigger tr_remove_thread_from_project
Index: src/main/resources/db/migration/V2__add_test_data.sql
===================================================================
--- src/main/resources/db/migration/V2__add_test_data.sql	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/resources/db/migration/V2__add_test_data.sql	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -11,36 +11,28 @@
 INSERT INTO thread (content, user_id)
 VALUES
-    ('Main content for topic thread 1', 1),
-    ('Main content for topic thread 2', 2),
-    ('Discussion content for topic 1', 1),
-    ('Discussion content for topic 2', 2),
-    ('Project-specific thread content', 3),
-    ('Reply to topic 1', 4),
-    ('Further discussion on topic 2', 5),
-    ('Main content for topic thread', 1),
-    ('Main content for topic thread', 2),
-    ('Discussion content for topic 1', 1),
-    ('Discussion content for topic 2', 2),
-    ('Project-specific thread content', 3),
-    ('Reply to topic 1', 4),
-    ('Further discussion on topic 2', 5),
-    ('Further discussion on topic 2', 5),
-    ('Main content for topic thread', 1),
-    ('Main content for topic thread', 2),
-    ('Discussion content for topic 1', 1),
-    ('Discussion content for topic 2', 2),
-    ('Project-specific thread content', 3),
-    ('Reply to topic 1', 4),
-    ('Further discussion on topic 2', 5);
+    ('Main content for topic thread 1', 1), --1
+    ('Main content for topic thread 2', 2), --2
+    ('Discussion content for topic 1', 1), --3
+    ('Discussion content for topic 2', 2), --4
+    ('Project-specific thread content', 3), --5
+    ('Reply to topic 1', 4), -- 6
+    ('Further discussion on topic 2', 5), --7
+    ('Main content for topic thread', 1), --8
+    ('Project-specific thread content 2', 5); --9
 
+insert into embdedable_thread(id)
+values (1),(2),(3),(4),(6),(7),(8);
+
+
+INSERT INTO project_thread (id, title, repo_url)
+VALUES
+    (5, 'Project 1 Thread', 'http://github.com/project1'),
+    (9, 'Project 2 Thread', 'http://github.com/project1');
 
 INSERT INTO topic_thread (id, title, parent_id)
 VALUES
     (1, 'Topic 1' , 5),
-    (2, 'Topic 2', 5),
-    (8, 'Topic 7' , NULL),
-    (9, 'Topic 8', NULL),
-    (16, 'Topic 9' , NULL),
-    (17, 'Topic 10', NULL);
+    (2, 'Topic 2', NULL),
+    (8, 'Topic 7' , NULL);
 
 insert into topic_guidelines(topic_id,description)
@@ -53,12 +45,7 @@
     (3, 1),
     (4, 2),
-    (6, 3),
+    (6, 1),
     (7, 4);
 
-INSERT INTO project_thread (id, title, repo_url)
-VALUES
-    (5, 'Project 1 Thread', 'http://github.com/project1'),
-    (10, 'Project 2 Thread', 'http://github.com/project1'),
-    (15, 'Project 3 Thread', 'http://github.com/project1');
 
 INSERT INTO likes (user_id, thread_id)
@@ -90,6 +77,5 @@
 VALUES
     (3, 5, 'Admin'),
-    (5, 5, 'Developer'),
-    (1, 5, 'Developer');
+    (5, 5, 'Developer');
 
 INSERT INTO project_roles_permissions (permission_name, role_name, project_id)
@@ -98,8 +84,8 @@
     ('Delete Thread', 'Admin', 5);
 
-insert into submission(created_by,status,description) 
-values 
-(1,'PENDING','Inappropriate content'),
-(3,'DENIED','Spam content');
+insert into submission(created_by,status,description)
+values
+    (1,'PENDING','Inappropriate content'),
+    (3,'DENIED','Spam content');
 
 INSERT INTO report (id,thread_id, for_user_id)
@@ -117,2 +103,11 @@
     (NOW(), 'Resen ladno a?', 3, 5, 'Updates');
 
+
+
+
+
+
+
+
+
+
Index: src/main/resources/templates/project_pages/members.html
===================================================================
--- src/main/resources/templates/project_pages/members.html	(revision ca3e2166633cbd2295598cd7c775ce0fd4ca6db9)
+++ src/main/resources/templates/project_pages/members.html	(revision 873353c87bd59d9d9db035f7ce98e6628c7762f4)
@@ -45,5 +45,4 @@
 <main class="d-flex justify-content-center align-content-center ">
     <div class="list-group w-75">
-
         <div class="list-group-item d-flex gap-2 justify-content-between align-items-center ps-4 pe-4"
              th:each="member : ${developers}">
