Index: ckend/src/main/java/com/tradingmk/backend/WebConfig.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/WebConfig.java	(revision 6e7fa7573b3fba56836d2361353f7d28db18a3c4)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package com.tradingmk.backend;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.*;
-
-@Configuration
-public class WebConfig implements WebMvcConfigurer {
-
-    @Override
-    public void addCorsMappings(CorsRegistry registry) {
-        registry.addMapping("/**")
-                .allowedOrigins("http://localhost:5175", "http://localhost:5176","http://localhost:5173","http://localhost:3000")
-                .allowedMethods("*")
-                .allowedHeaders("*")
-                .allowedHeaders("*").allowCredentials(true);
-    }
-}
Index: backend/src/main/java/com/tradingmk/backend/config/WebConfig.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/config/WebConfig.java	(revision 7225770ddd7224c0a5fcd6c23394f2d0c2035c48)
+++ backend/src/main/java/com/tradingmk/backend/config/WebConfig.java	(revision 7225770ddd7224c0a5fcd6c23394f2d0c2035c48)
@@ -0,0 +1,17 @@
+package com.tradingmk.backend.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.*;
+
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins("http://localhost:5175", "http://localhost:5176","http://localhost:5173","http://localhost:3000")
+                .allowedMethods("*")
+                .allowedHeaders("*")
+                .allowedHeaders("*").allowCredentials(true);
+    }
+}
Index: backend/src/main/java/com/tradingmk/backend/controller/TradeRequestController.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/controller/TradeRequestController.java	(revision 6e7fa7573b3fba56836d2361353f7d28db18a3c4)
+++ backend/src/main/java/com/tradingmk/backend/controller/TradeRequestController.java	(revision 7225770ddd7224c0a5fcd6c23394f2d0c2035c48)
@@ -2,11 +2,6 @@
 
 
-import com.tradingmk.backend.model.Portfolio;
-import com.tradingmk.backend.model.PortfolioHolding;
-import com.tradingmk.backend.model.TradeRequest;
-import com.tradingmk.backend.model.User;
-import com.tradingmk.backend.repository.PortfolioHoldingRepository;
-import com.tradingmk.backend.repository.PortfolioRepository;
-import com.tradingmk.backend.repository.TradeRequestRepository;
+import com.tradingmk.backend.model.*;
+import com.tradingmk.backend.repository.*;
 import org.springframework.security.core.annotation.AuthenticationPrincipal;
 import org.springframework.web.bind.annotation.*;
@@ -25,8 +20,13 @@
     private final PortfolioHoldingRepository portfolioHoldingRepository;
 
-    public TradeRequestController(TradeRequestRepository tradeRequestRepository, PortfolioRepository portfolioRepository, PortfolioHoldingRepository portfolioHoldingRepository) {
+    private final TransactionRepository transactionRepository;
+    private final StockRepository stockRepository;
+
+    public TradeRequestController(TradeRequestRepository tradeRequestRepository, PortfolioRepository portfolioRepository, PortfolioHoldingRepository portfolioHoldingRepository, TransactionRepository transactionRepository, StockRepository stockRepository) {
         this.tradeRequestRepository = tradeRequestRepository;
         this.portfolioRepository = portfolioRepository;
         this.portfolioHoldingRepository = portfolioHoldingRepository;
+        this.transactionRepository = transactionRepository;
+        this.stockRepository = stockRepository;
     }
 
@@ -96,4 +96,18 @@
             portfolioHoldingRepository.save(holding);
 
+            //sava a transaction
+            Transaction transaction = new Transaction();
+            transaction.setUser(portfolio.getUser());
+
+            Stock stock = stockRepository.findBySymbol(tr.getStockSymbol())
+                    .orElseThrow(() -> new RuntimeException("stock not found: " + tr.getStockSymbol()));
+            transaction.setStock(stock);
+            transaction.setType("BUY");
+            transaction.setQuantity(tr.getQuantity());
+            transaction.setPrice(tr.getPricePerUnit());
+            transaction.setTimestamp(LocalDateTime.now());
+
+            transactionRepository.save(transaction);
+
         } else if ("SELL".equalsIgnoreCase(tr.getType())) {
             PortfolioHolding holding = portfolioHoldingRepository
@@ -119,4 +133,19 @@
             portfolio.setBalance(portfolio.getBalance().add(totalGain));
             portfolioRepository.save(portfolio);
+
+
+            //sava a transaction
+            Transaction transaction = new Transaction();
+            transaction.setUser(portfolio.getUser());
+
+            Stock stock = stockRepository.findBySymbol(tr.getStockSymbol())
+                    .orElseThrow(() -> new RuntimeException("stock not found: " + tr.getStockSymbol()));
+            transaction.setStock(stock);
+            transaction.setType("BUY");
+            transaction.setQuantity(tr.getQuantity());
+            transaction.setPrice(tr.getPricePerUnit());
+            transaction.setTimestamp(LocalDateTime.now());
+
+            transactionRepository.save(transaction);
         }
 
Index: backend/src/main/java/com/tradingmk/backend/model/Stock.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/model/Stock.java	(revision 6e7fa7573b3fba56836d2361353f7d28db18a3c4)
+++ backend/src/main/java/com/tradingmk/backend/model/Stock.java	(revision 7225770ddd7224c0a5fcd6c23394f2d0c2035c48)
@@ -24,4 +24,10 @@
     private LocalDateTime lastUpdated;
     private Double lastPrice;
+
+    @Column(nullable = false)
+    private Double percentage = 0.0;
+
+    private Double turnover;
+
     public Double getLastPrice() {
         return lastPrice;
@@ -32,10 +38,4 @@
     }
 
-
-
-    @Column(nullable = false)
-    private Double percentage = 0.0;
-
-    private Double turnover;
 
     public Double getTurnover() {
Index: backend/src/main/java/com/tradingmk/backend/model/TradeRequest.java
===================================================================
--- backend/src/main/java/com/tradingmk/backend/model/TradeRequest.java	(revision 6e7fa7573b3fba56836d2361353f7d28db18a3c4)
+++ backend/src/main/java/com/tradingmk/backend/model/TradeRequest.java	(revision 7225770ddd7224c0a5fcd6c23394f2d0c2035c48)
@@ -7,5 +7,4 @@
 
 @Entity
-
 public class TradeRequest {
 
