Index: src/main/java/com/example/skychasemk/dto/BookingDTO.java
===================================================================
--- src/main/java/com/example/skychasemk/dto/BookingDTO.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/dto/BookingDTO.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -10,5 +10,5 @@
     private Integer bookingID;
     private Integer userID;
-    private Flight flightId;
+    private Integer flightId;
     private LocalDate bookingDate;
     private PaymentStatus status;
@@ -16,9 +16,9 @@
     private Integer seatNumber;
 
-    public Flight getFlightId() {
+    public Integer getFlightId() {
         return flightId;
     }
 
-    public void setFlightId(Flight flightId) {
+    public void setFlightId(Integer flightId) {
         this.flightId = flightId;
     }
@@ -47,9 +47,9 @@
     }
 
-    public Flight getFlightID() {
+    public Integer getFlightID() {
         return flightId;
     }
 
-    public void setFlightID(Flight flightId) {
+    public void setFlightID(Integer flightId) {
         this.flightId = flightId;
     }
Index: src/main/java/com/example/skychasemk/dto/PaymentDTO.java
===================================================================
--- src/main/java/com/example/skychasemk/dto/PaymentDTO.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/dto/PaymentDTO.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -2,4 +2,5 @@
 
 import lombok.Getter;
+import lombok.Setter;
 
 import java.math.BigDecimal;
@@ -12,5 +13,5 @@
     private Long paymentID;
     @Getter
-    private Integer bookingID;
+    private Integer bookingId;
     private Integer userID;
     @Getter
@@ -22,10 +23,7 @@
     @Getter
     private PaymentStatus status;
+    @Setter
     @Getter
     private Long flightId;
-
-    public void setFlightId(Long flightId) {
-        this.flightId = flightId;
-    }
 
     public enum PaymentStatus {
@@ -40,12 +38,11 @@
         CREDIT
     }
-
+    public Integer getBookingID() {
+        return bookingId;
+    }
     public void setPaymentID(Long paymentID) {
         this.paymentID = paymentID;
     }
 
-    public void setBookingID(Integer bookingID) {
-        this.bookingID = bookingID;
-    }
 
     public Long getUserID() {
Index: src/main/java/com/example/skychasemk/model/Administrator.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Administrator.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Administrator.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -6,5 +6,5 @@
 @Entity
 @Data
-@Table(name="Administrator")
+@Table(name="administrator")
 public class Administrator {
     @Id
Index: src/main/java/com/example/skychasemk/model/Airport.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Airport.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Airport.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -4,10 +4,10 @@
 
 @Entity
-@Table(name="Airport")
+@Table(name="airport")
 public class Airport {
 
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "AirportID")
+    @Column(name = "airportid")
     private Integer airportID;
     @Column(name = "name")
Index: src/main/java/com/example/skychasemk/model/ApplicationUser.java
===================================================================
--- src/main/java/com/example/skychasemk/model/ApplicationUser.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/ApplicationUser.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -9,5 +9,5 @@
 @Entity
 @Data
-@Table(name="ApplicationUser")
+@Table(name="application_user")
 public class ApplicationUser {
 
@@ -29,9 +29,9 @@
 
     private String password;
-    @Column(name = "phoneNumber")
+    @Column(name = "phone_number")
 
     private String phoneNumber;
 
-    @Column(name = "dateJoined")
+    @Column(name = "date_joined")
     private LocalDate dateJoined;
 
Index: src/main/java/com/example/skychasemk/model/Booking.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Booking.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Booking.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -9,5 +9,5 @@
 
 @Entity
-@Table(name="Booking")
+@Table(name="booking")
 public class Booking {
 
@@ -16,16 +16,13 @@
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "BookingID")
+    @Column(name = "bookingid")
 
     private Integer bookingID;
     @Setter
     @Getter
-    @Column(name = "UserID")
+    @Column(name = "userid")
 
     private Integer userID;
 
-    //@Column(name = "flightid")
-
-    //private Integer flightId;
     @Column(name = "booking_date")
 
@@ -44,13 +41,12 @@
     private Integer seat_number;
 
-    @ManyToOne(fetch = FetchType.LAZY)
-    @JoinColumn(name = "flightid")
-    Flight flightId;
+    @Column(name = "flightid")
+    private Integer flightId;
 
-    public Flight getFlightId() {
+    public Integer getFlightId() {
         return flightId;
     }
 
-    public void setFlightId(Flight flightId) {
+    public void setFlightId(Integer flightId) {
         this.flightId = flightId;
     }
Index: src/main/java/com/example/skychasemk/model/Destination.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Destination.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Destination.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -6,19 +6,19 @@
 
 @Entity
-@Table(name="Destination")
+@Table(name="destination")
 public class Destination {
 
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "DestinationID")
+    @Column(name = "destinationid")
 
     private Integer destinationID;
-    @Column(name = "Name")
+    @Column(name = "name")
 
     private String name;
-    @Column(name = "Country")
+    @Column(name = "country")
 
     private String country;
-    @Column(name = "Description")
+    @Column(name = "description")
 
     private String description;
Index: src/main/java/com/example/skychasemk/model/Flight.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Flight.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Flight.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -1,4 +1,5 @@
 package com.example.skychasemk.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import jakarta.persistence.*;
 import lombok.Getter;
@@ -42,13 +43,16 @@
 
     private Integer availableSeats;
-    @Column(name = "departureDate")
+    @Column(name = "departure_date")
 
     private LocalDate departureDate;
 
-    @Column(name="returnDate")
+    @Column(name="return_date")
     private LocalDate returnDate;
 
     @OneToMany(mappedBy = "flightId", fetch = FetchType.LAZY)
+    @JsonIgnore
     private List<Booking> bookings;
+
+    public Flight(){}
 
 }
Index: src/main/java/com/example/skychasemk/model/Notification.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Notification.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Notification.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -5,19 +5,19 @@
 
 @Entity
-@Table(name="Notification")
+@Table(name="notification")
 public class Notification {
 
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "NotificationID")
+    @Column(name = "notificationid")
 
     private Integer notificationID;
-    @Column(name = "UserID")
+    @Column(name = "userid")
 
     private Integer userID;
-    @Column(name = "Message")
+    @Column(name = "message")
 
     private String message;
-    @Column(name = "Type")
+    @Column(name = "type")
 
     @Enumerated(EnumType.STRING)
Index: src/main/java/com/example/skychasemk/model/Payment.java
===================================================================
--- src/main/java/com/example/skychasemk/model/Payment.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/Payment.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -19,5 +19,5 @@
     private Integer paymentID;
 
-    @Column(name = "BookingID")
+    @Column(name = "bookingid")
 
     private Integer bookingID;
Index: src/main/java/com/example/skychasemk/model/SupportTicket.java
===================================================================
--- src/main/java/com/example/skychasemk/model/SupportTicket.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/model/SupportTicket.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -19,7 +19,5 @@
 
     private Integer userID;
-    @Column(name = "Subject")
 
-    private String subject;
     @Getter
     @Column(name = "Description")
@@ -62,7 +60,4 @@
     }
 
-    public void setSubject(String subject) {
-        this.subject = subject;
-    }
 
     public void setDescription(String description) {
Index: src/main/java/com/example/skychasemk/repository/FlightRepository.java
===================================================================
--- src/main/java/com/example/skychasemk/repository/FlightRepository.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/repository/FlightRepository.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -13,5 +13,5 @@
 public interface FlightRepository extends JpaRepository<Flight, Long> {
 
-    @Query(value = "SELECT * FROM flight WHERE departure_airport = :departureID AND arrival_airport = :destinationID AND departureDate = :departureDate", nativeQuery = true)
+    @Query(value = "SELECT * FROM flight WHERE departure_airport = :departureID AND arrival_airport = :destinationID AND departure_date = :departureDate", nativeQuery = true)
     List<Flight> findFlights(@Param("departureID") Integer departureID,
                              @Param("destinationID") Integer destinationID,
Index: src/main/java/com/example/skychasemk/repository/ReviewRepository.java
===================================================================
--- src/main/java/com/example/skychasemk/repository/ReviewRepository.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/repository/ReviewRepository.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -3,7 +3,11 @@
 import com.example.skychasemk.model.Review;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
 
 public interface ReviewRepository extends JpaRepository<Review, Integer> {
-    // Custom queries can be added here if needed
+    @Query("SELECT r from Review r where r.targetID = :flightId")
+    List<Review> findReviews();
 }
 
Index: src/main/java/com/example/skychasemk/services/ReviewService.java
===================================================================
--- src/main/java/com/example/skychasemk/services/ReviewService.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/services/ReviewService.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -17,10 +17,8 @@
     private ReviewRepository reviewRepository;
 
-    // Get all reviews
     public List<Review> getAllReviews() {
-        return reviewRepository.findAll();
+        return reviewRepository.findReviews();
     }
 
-    // Get review by ID
     public Optional<Review> getReviewById(Integer reviewID) {
         return reviewRepository.findById(reviewID);
Index: src/main/java/com/example/skychasemk/services/SupportTicketService.java
===================================================================
--- src/main/java/com/example/skychasemk/services/SupportTicketService.java	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/java/com/example/skychasemk/services/SupportTicketService.java	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -41,5 +41,4 @@
         ticket.setDateCreated(LocalDate.now());
         ticket.setStatus(OPEN);
-        ticket.setSubject("Issue Opened");
         ticket.setDescription(dto.getDescription());
 
Index: src/main/resources/application.properties
===================================================================
--- src/main/resources/application.properties	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/application.properties	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -12,7 +12,11 @@
 # JPA Settings
 spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
-spring.jpa.hibernate.ddl-auto=update
+spring.jpa.properties.hibernate.cache.use_second_level_cache=false
+spring.jpa.properties.hibernate.cache.use_query_cache=false
 spring.jpa.show-sql=true
 
 spring.mvc.view.prefix=/static/
 spring.mvc.view.suffix=.html
+
+
+
Index: src/main/resources/static/FlightSearch.html
===================================================================
--- src/main/resources/static/FlightSearch.html	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/static/FlightSearch.html	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -165,6 +165,7 @@
                 const bookingDate = new Date().toISOString().split('T')[0];
 
+
                 const bookingData = {
-                    flightId: flight.flightId,
+                    flightId: flight.flightID,
                     bookingDate: bookingDate,
                     status: 'PENDING',
@@ -174,6 +175,7 @@
                 axios.post('/api/bookings', bookingData)
                     .then(response => {
+                        const bookingID = response.data.bookingID;
                         alert("Booked successfully!");
-                        window.location.href = `/transaction?amount=${encodeURIComponent(totalCost)}`;
+                        window.location.href = `/transaction?amount=${encodeURIComponent(totalCost)}&bookingId=${encodeURIComponent(bookingID)}&flightId=${encodeURIComponent(flight.flightID)}`;
                     })
                     .catch(error => {
@@ -189,5 +191,5 @@
 
                 const wishlistData = {
-                    targetId: flight.flightId,
+                    targetId: flight.flightID,
                     wishlisted: flight.wishlisted
                 };
@@ -274,5 +276,5 @@
                     console.error("Error fetching flights", error);
                 });
-            axios.get('api/bookings/getAll/${flight.flightID}')
+            axios.get('api/bookings/getAll/${flight.flightId}')
                 .then(response => {
                     console.log(response.data);
Index: src/main/resources/static/ReviewPage.html
===================================================================
--- src/main/resources/static/ReviewPage.html	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/static/ReviewPage.html	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -20,7 +20,7 @@
 
             <div class="review-list">
-                <div v-for="review in reviews" :key="review.id" class="review-item">
-                    <h3>{{ review.subject }}</h3>
-                    <p>{{ review.description }}</p>
+                <div v-for="review in reviews" :key="review.reviewid" class="review-item">
+                    <h3>Description</h3>
+                    <p>{{ review.review_comment }}</p>
                     <span>{{ review.date }}</span>
                 </div>
@@ -29,35 +29,26 @@
     </div>
 </div>
-
+<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
 <script>
     new Vue({
         el: '#app',
         data: {
-            reviews: [
-                {
-                    id: 1,
-                    subject: 'Great experience!',
-                    description: 'The flight was amazing, the service was excellent, and the views were breathtaking.',
-                    date: '2025-02-01',
-                },
-                {
-                    id: 2,
-                    subject: 'Good but delayed',
-                    description: 'The flight was comfortable, but it was delayed by two hours, which caused some inconvenience.',
-                    date: '2025-02-02',
-                },
-                {
-                    id: 3,
-                    subject: 'Okay, but not perfect',
-                    description: 'Everything was fine, but the food options could have been better.',
-                    date: '2025-02-03',
-                },
-            ]
+            reviews: []
         },
         methods: {
             logout() {
-                // Logic to log out the user, e.g., clearing session or redirecting to home page
-                window.location.href = '/'; // Redirecting to home page
+                window.location.href = '/';
             }
+        },
+        mounted() {
+            axios.get('api/reviews')
+                .then(response => {
+                    this.reviews = response.data;
+                    console.log(response.data);
+                })
+                .catch(error => {
+                    console.error("Error fetching reviews", error);
+                });
         }
     });
Index: src/main/resources/static/TransactionPage.html
===================================================================
--- src/main/resources/static/TransactionPage.html	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/static/TransactionPage.html	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -53,4 +53,5 @@
         el: '#app',
         data: {
+            bookingId: '',
             cardholder: '',
             cardNumber: '',
@@ -63,4 +64,5 @@
             this.flightId = urlParams.get('flightId');
             this.amount = urlParams.get('amount');
+            this.bookingId = urlParams.get('bookingId')
 
             const user = JSON.parse(localStorage.getItem("user"));
@@ -79,8 +81,8 @@
                     bookingId:this.bookingId
                 };
-
+                console.log(transaction);
                 axios.post('api/payments', transaction)
                     .then(response => {
-                        console.log("Payment successful");
+                        console.log(response.data);
                         this.paymentSuccess = true;
                         setTimeout(() => window.location.href = '/flights',2000);
Index: src/main/resources/static/UserSignup.html
===================================================================
--- src/main/resources/static/UserSignup.html	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/static/UserSignup.html	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -35,5 +35,5 @@
         <div class="form-group">
             <label for="phoneNumber">Phone Number</label>
-            <input type="text" id="phoneNumber" v-model="phoneNumber" required placeholder="Enter your phone number" />
+            <input type="text" id="phoneNumber" v-model="phone_number" required placeholder="Enter your phone number" />
         </div>
 
@@ -53,9 +53,8 @@
             email: '',
             password: '',
-            phoneNumber: ''
+            phone_number: ''
         },
         methods: {
             signupUser() {
-                // Create user data object
                 const userData = {
                     name: this.name,
@@ -63,8 +62,7 @@
                     email: this.email,
                     password: this.password,
-                    phoneNumber: this.phoneNumber
+                    phone_number: this.phone_number
                 };
 
-                // Send POST request to the backend
                 axios.post('http://localhost:8080/api/user/signup', userData)
                     .then(response => {
Index: src/main/resources/static/WishlistPage.html
===================================================================
--- src/main/resources/static/WishlistPage.html	(revision 57e58a35be0538f1ab9cd2a435d4229175bc485f)
+++ src/main/resources/static/WishlistPage.html	(revision 3d609327dbace888fbc6a057dfb4b5c624b18c15)
@@ -81,5 +81,5 @@
             },
             showReviews(flight) {
-                window.location.href = `/review?flightId=${flight.id}`;
+                window.location.href = `/reviews?flightId=${flight.flightid}`;
             },
             logout() {
