Index: src/main/java/com/example/skychasemk/controller/NotificationController.java
===================================================================
--- src/main/java/com/example/skychasemk/controller/NotificationController.java	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/java/com/example/skychasemk/controller/NotificationController.java	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -2,6 +2,9 @@
 
 import com.example.skychasemk.model.Notification;
+import com.example.skychasemk.model.Wishlist;
+import com.example.skychasemk.repository.NotificationRepository;
 import com.example.skychasemk.services.NotificationService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
@@ -16,17 +19,13 @@
     private NotificationService notificationService;
 
-    // Get all notifications
-    @GetMapping
-    public List<Notification> getAllNotifications() {
-        return notificationService.getAllNotifications();
+    @Autowired
+    private NotificationRepository notificationRepository;
+
+    @GetMapping("/{userId}")
+    public ResponseEntity<List<Notification>> getAllNotifications(@PathVariable Integer userId) {
+        List<Notification> notifications = notificationRepository.findByUserId(userId);
+        return ResponseEntity.ok(notifications);
     }
 
-    // Get notification by ID
-    @GetMapping("/{id}")
-    public Optional<Notification> getNotificationById(@PathVariable("id") Integer notificationID) {
-        return notificationService.getNotificationById(notificationID);
-    }
-
-    // Create a new notification
     @PostMapping
     public Notification createNotification(@RequestBody Notification notification) {
@@ -34,5 +33,4 @@
     }
 
-    // Update an existing notification
     @PutMapping("/{id}")
     public Notification updateNotification(@PathVariable("id") Integer notificationID, @RequestBody Notification notification) {
@@ -40,5 +38,4 @@
     }
 
-    // Delete a notification
     @DeleteMapping("/{id}")
     public void deleteNotification(@PathVariable("id") Integer notificationID) {
Index: src/main/java/com/example/skychasemk/model/Notification.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Notification.java	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/java/com/example/skychasemk/model/Notification.java	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -2,6 +2,9 @@
 
 import jakarta.persistence.*;
+import lombok.Getter;
+
 import java.time.LocalDate;
 
+@Getter
 @Entity
 @Table(name="notification")
@@ -15,5 +18,5 @@
     @Column(name = "userid")
 
-    private Integer userID;
+    private Integer userId;
     @Column(name = "message")
 
@@ -33,23 +36,10 @@
     }
 
-    // Getters and Setters
-    public Integer getNotificationID() {
-        return notificationID;
-    }
-
     public void setNotificationID(Integer notificationID) {
         this.notificationID = notificationID;
     }
 
-    public Integer getUserID() {
-        return userID;
-    }
-
-    public void setUserID(Integer userID) {
-        this.userID = userID;
-    }
-
-    public String getMessage() {
-        return message;
+    public void setUserId(Integer userId) {
+        this.userId = userId;
     }
 
@@ -58,14 +48,6 @@
     }
 
-    public Type getType() {
-        return type;
-    }
-
     public void setType(Type type) {
         this.type = type;
-    }
-
-    public LocalDate getDateSent() {
-        return dateSent;
     }
 
Index: src/main/java/com/example/skychasemk/repository/NotificationRepository.java
===================================================================
--- src/main/java/com/example/skychasemk/repository/NotificationRepository.java	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/java/com/example/skychasemk/repository/NotificationRepository.java	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -2,7 +2,14 @@
 
 import com.example.skychasemk.model.Notification;
+import com.example.skychasemk.model.Wishlist;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
 
 public interface NotificationRepository extends JpaRepository<Notification, Integer> {
-    // You can add custom queries here if needed
+    @Query("SELECT n FROM Notification n WHERE n.userId = :userId")
+    List<Notification> findByUserId(@Param("userId") Integer userId);
 }
Index: src/main/java/com/example/skychasemk/services/BookingService.java
===================================================================
--- src/main/java/com/example/skychasemk/services/BookingService.java	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/java/com/example/skychasemk/services/BookingService.java	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -3,4 +3,5 @@
 import com.example.skychasemk.model.Booking;
 import com.example.skychasemk.repository.BookingRepository;
+import jakarta.transaction.Transactional;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
Index: src/main/java/com/example/skychasemk/services/NotificationService.java
===================================================================
--- src/main/java/com/example/skychasemk/services/NotificationService.java	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/java/com/example/skychasemk/services/NotificationService.java	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -15,20 +15,12 @@
     private NotificationRepository notificationRepository;
 
-    // Get all notifications
-    public List<Notification> getAllNotifications() {
-        return notificationRepository.findAll();
+    public List<Notification> getAllNotifications(Integer userId) {
+        return notificationRepository.findByUserId(userId);
     }
 
-    // Get notification by ID
-    public Optional<Notification> getNotificationById(Integer notificationID) {
-        return notificationRepository.findById(notificationID);
-    }
-
-    // Save a new notification
     public Notification saveNotification(Notification notification) {
         return notificationRepository.save(notification);
     }
 
-    // Update an existing notification
     public Notification updateNotification(Integer notificationID, Notification notification) {
         if (notificationRepository.existsById(notificationID)) {
@@ -40,5 +32,4 @@
     }
 
-    // Delete notification
     public void deleteNotification(Integer notificationID) {
         notificationRepository.deleteById(notificationID);
Index: src/main/resources/static/FlightSearch.html
===================================================================
--- src/main/resources/static/FlightSearch.html	(revision c064a42982d93c4d25f9142190171ffc6e6e12ea)
+++ src/main/resources/static/FlightSearch.html	(revision 8a947b9f7bb935744c30d9474c48253c28f6ffab)
@@ -10,4 +10,5 @@
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
     <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-2/css/all.min.css'>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
     <style>
         body {
@@ -212,4 +213,58 @@
             color:white;
         }
+
+        .notification-badge {
+            position: absolute;
+            top: 0;
+            right: 0;
+            background-color: red;
+            color: white;
+            border-radius: 50%;
+            padding: 0.3em;
+            font-size: 0.8em;
+        }
+
+        button i {
+            font-size: 24px;
+            color: #333;
+            position: relative;
+        }
+
+        .notifications-popup {
+            position: absolute;
+            top: 50px;
+            right: 0;
+            background: white;
+            border: 1px solid #ddd;
+            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+            width: 300px;
+            max-height: 400px;
+            overflow-y: auto;
+            padding: 10px;
+            z-index: 9999;
+        }
+
+        .notifications-popup ul {
+            list-style-type: none;
+            padding: 0;
+        }
+
+        .notifications-popup li {
+            padding: 10px;
+            border-bottom: 1px solid #ddd;
+        }
+
+        .notifications-popup button {
+            background-color: #4CAF50; /* Green */
+            color: white;
+            padding: 10px;
+            border: none;
+            cursor: pointer;
+            margin-top: 10px;
+        }
+
+        .notifications-popup button:hover {
+            background-color: #45a049;
+        }
     </style>
 </head>
@@ -223,4 +278,9 @@
         <button @click="goToReports">Monthly Report</button>
         <button @click="home">Log Out</button>
+
+        <button @click="toggleNotifications">
+            <i class="fas fa-bell"></i>
+            <span v-if="unreadNotifications > 0" class="notification-badge">{{ unreadNotifications }}</span>
+        </button>
     </header>
 
@@ -291,4 +351,13 @@
         </div>
     </div>
+
+    <div v-if="notificationsVisible" class="notifications-popup">
+        <ul>
+            <li v-for="notification in notifications" :key="notification.message">
+                {{ notification.message }}
+            </li>
+        </ul>
+        <button @click="markAllAsRead">Mark All as Read</button>
+    </div>
 </div>
 
@@ -310,5 +379,8 @@
             issueDescription: '',
             userId:'',
-            wishlisted:false
+            wishlisted:false,
+            unreadNotifications: 0,
+            notifications: [],
+            notificationsVisible: false,
         },
         computed: {
@@ -319,4 +391,18 @@
 
         methods: {
+            toggleNotifications() {
+                this.notificationsVisible = !this.notificationsVisible;
+            },
+            fetchNotifications() {
+                console.log('Fetching notifications for userId:', this.userId);
+                axios.get(`/api/notifications/${this.userId}`)
+                    .then(response => {
+                        this.notifications = response.data;
+                        this.unreadNotifications = this.notifications.filter(n => !n.read).length;
+                    })
+                    .catch(error => {
+                        console.error('Error fetching notifications:', error);
+                    });
+            },
             async searchFlights() {
                 this.isContainerVisible = !this.isContainerVisible;
@@ -455,5 +541,5 @@
                     console.error("Error fetching flights", error);
                 });
-
+            this.fetchNotifications();
         }
     });
