Index: src/main/java/com/db/finki/www/build_board/controller/ExceptionHandler.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/ExceptionHandler.java	(revision 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/java/com/db/finki/www/build_board/controller/ExceptionHandler.java	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -9,5 +9,5 @@
 import org.springframework.web.servlet.resource.NoResourceFoundException;
 
-//@ControllerAdvice
+@ControllerAdvice
 public class ExceptionHandler {
 
Index: src/main/java/com/db/finki/www/build_board/controller/thread_controllers/ProjectController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controllers/ProjectController.java	(revision 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/java/com/db/finki/www/build_board/controller/thread_controllers/ProjectController.java	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -75,4 +75,10 @@
         return "project_pages/members";
     }
+    @PreAuthorize("#project.getUser().equals(#user)")
+    @PostMapping("/{pr_title}/members/kick")
+    public String kickMember(@PathVariable(name = "pr_title") @P("project") Project project,@RequestParam int memberId,@SessionAttribute @P("user") BBUser user){
+        projectService.removeMember(project, memberId);
+        return "redirect:/project/" + project.getTitle() + "/members";
+    }
 
     @PreAuthorize("#project.getUser().getUsername().equals(#username)")
Index: src/main/java/com/db/finki/www/build_board/service/BBUserDetailsService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/BBUserDetailsService.java	(revision 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/java/com/db/finki/www/build_board/service/BBUserDetailsService.java	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -56,3 +56,7 @@
         );
     }
+
+    public BBUser loadUserById(int id){
+        return userRepository.findById(id);
+    }
 }
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 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -7,8 +7,10 @@
 import com.db.finki.www.build_board.entity.user_types.BBUser;
 import com.db.finki.www.build_board.entity.threads.Project;
+import com.db.finki.www.build_board.entity.user_types.Developer;
 import com.db.finki.www.build_board.repository.thread.ProjectRepository;
 import com.db.finki.www.build_board.service.BBUserDetailsService;
 import com.db.finki.www.build_board.service.thread.itfs.TagService;
 import com.db.finki.www.build_board.service.thread.itfs.TopicService;
+import jakarta.transaction.Transactional;
 import org.springframework.stereotype.Service;
 
@@ -49,4 +51,11 @@
     }
 
+    @Transactional
+    public void removeMember(Project project, int memberId) {
+        BBUser user = userDetailsService.loadUserById(memberId);
+        boolean removed = project.getDevelopers().remove(user);
+        System.out.println("REMOVED: " + removed);
+    }
+
     public void addTagToProject(Project project, String tagName) {
         Tag tag = null ;
Index: src/main/resources/static/css/icon.css
===================================================================
--- src/main/resources/static/css/icon.css	(revision 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/resources/static/css/icon.css	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
Index: src/main/resources/static/project_imgs/im-kick-user.svg
===================================================================
--- src/main/resources/static/project_imgs/im-kick-user.svg	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
+++ src/main/resources/static/project_imgs/im-kick-user.svg	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -0,0 +1,1 @@
+<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><g fill="#da4453" transform="translate(-421.714 -525.79)"><path d="m432.714 528.79a4 4 0 0 0 -4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0 -4-4m0 1a3 3 0 0 1 3 3 3 3 0 0 1 -3 3 3 3 0 0 1 -3-3 3 3 0 0 1 3-3m0 8a8 8 0 0 0 -7.927 7h1.007a7 7 0 0 1 6.92-6 7 7 0 0 1 1 .08v-1.009a8 8 0 0 0 -1-.07"/><circle cx="437.214" cy="541.291" r="3.5"/></g><path d="m13 15h5v1h-5z" fill="#fff"/></svg>
Index: src/main/resources/templates/project_pages/members.html
===================================================================
--- src/main/resources/templates/project_pages/members.html	(revision 028841f4b0625d36d145f7b9cb558e18b6a88dc5)
+++ src/main/resources/templates/project_pages/members.html	(revision 7af74d60c7603ba27bade2a00ff1beb106a69abd)
@@ -5,4 +5,6 @@
     <title>Members</title>
     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
+    <link rel="stylesheet" href="/css/icon.css">
     <style>
         body {
@@ -10,45 +12,11 @@
         }
 
-        .card {
-            background-color: #ffffff; /* White background for the cards */
-            border: 1px solid #dde2e6; /* Light grey border */
-            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
-            transition: transform 0.3s ease, box-shadow 0.3s ease;
-            height: 350px; /* Fixed height for larger cards */
+        .icon-small {
+            opacity: 0.5; /* Default opacity (lower) */
+            transition: opacity 0.3s ease; /* Smooth transition */
         }
 
-        .card:hover {
-            transform: translateY(-5px); /* Slight lift on hover */
-            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); /* Stronger shadow on hover */
-        }
-
-        .card-header {
-            background-color: #007bff; /* Blue header color */
-            color: #ffffff; /* White text */
-            font-weight: bold;
-        }
-
-        .card-body {
-            background-color: #f1f3f5; /* Light grey background */
-            color: #495057; /* Dark text */
-            height: 200px; /* Larger height for the card body */
-            overflow-y: auto; /* Allow scrolling if content exceeds height */
-        }
-
-        .card-footer {
-            background-color: #f8f9fa;
-            color: #495057;
-        }
-
-        .card-title {
-            color: #000000; /* Dark text color for card title */
-        }
-
-        .card-text {
-            color: #6c757d; /* Grey text for descriptions */
-        }
-
-        .btn-link {
-            color: #007bff; /* Blue accent for buttons */
+        div:hover .icon-small {
+            opacity: 1; /* Higher opacity on hover */
         }
 
@@ -57,4 +25,14 @@
             text-align: center;
         }
+        #kick-user-button{
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 100%;
+            opacity: 0;
+            cursor: pointer;
+        }
+
     </style>
 </head>
@@ -81,9 +59,21 @@
             </div>
             <h5 th:if="${member.getId() != project.getUser().getId()}" class="fw-lighter fst-italic">Developer</h5>
-            <h5 th:if="${member.getId() == project.getUser().getId()}" class="fw-lighter fst-italic">Creator</h5>
+            <h5 th:if="${member.getId() == project.getUser().getId()}" class="fw-lighter fst-italic">Owner</h5>
+            <div style="position: relative; display: inline-block;" th:if="${session.user.getId() == project.getUser().getId() && member.getId() != project.getUser().getId()}">
+                <img src="/project_imgs/im-kick-user.svg" alt="kick user image" class="icon-small" style="transition: opacity 0.3s ease;">
+                <form method="post" th:action="@{/project/{projectName}/members/kick (projectName=${project.getTitle()})}" style="display: inline;">
+                    <input type="hidden" name="memberId" th:value="${member.getId()}">
+                    <button id="kick-user-button" type="submit"></button>
+                </form>
+            </div>
+
+
         </div>
     </div>
-    </div>
 </main>
+
+<script>
+
+</script>
 
 <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
