diff --git a/src/main/java/com/example/clientproject/data/misc/MiscQueries.java b/src/main/java/com/example/clientproject/data/misc/MiscQueries.java
index 42737502dbc94e3df1345b84ce85ae31f1c62b9e..b172cc5dcc7e557c8857369a47a61253dcf8e677 100644
--- a/src/main/java/com/example/clientproject/data/misc/MiscQueries.java
+++ b/src/main/java/com/example/clientproject/data/misc/MiscQueries.java
@@ -4,12 +4,13 @@ import com.example.clientproject.data.tags.Tags;
 import com.example.clientproject.data.users.Users;
 import com.example.clientproject.service.dtos.UsersDTO;
 
+import javax.servlet.http.HttpSession;
 import java.util.List;
 
 public interface MiscQueries {
-    void saveUserFavouriteTags(Users user, Tags tag);
-    void saveUser(Users user);
-    void updateUser(int userId, String field, Object value);
-    void saveTag(Tags tag);
+    void saveUserFavouriteTags(Users user, Tags tag, HttpSession session);
+    void saveUser(Users user, HttpSession session);
+    void updateUser(int userId, String field, Object value, HttpSession session);
+    void saveTag(Tags tag, HttpSession session);
     List<UserFavouriteTags> findAllUserFavouriteTags();
 }
diff --git a/src/main/java/com/example/clientproject/data/misc/MiscQueriesImpl.java b/src/main/java/com/example/clientproject/data/misc/MiscQueriesImpl.java
index 3ada75eb155e922c8f88a8c1425e1b2477b95a52..d2354af451db842fb8a4b6798ff3e6a2f282075b 100644
--- a/src/main/java/com/example/clientproject/data/misc/MiscQueriesImpl.java
+++ b/src/main/java/com/example/clientproject/data/misc/MiscQueriesImpl.java
@@ -2,6 +2,7 @@ package com.example.clientproject.data.misc;
 
 import com.example.clientproject.data.tags.Tags;
 import com.example.clientproject.data.users.Users;
+import com.example.clientproject.service.LoggingService;
 import com.example.clientproject.service.dtos.UsersDTO;
 import org.springframework.jdbc.core.JdbcOperations;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -9,6 +10,7 @@ import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.simple.SimpleJdbcInsert;
 import org.springframework.stereotype.Repository;
 
+import javax.servlet.http.HttpSession;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -20,6 +22,7 @@ import java.util.Map;
 public class MiscQueriesImpl implements MiscQueries{
     private final JdbcTemplate jdbcTemplate;
     private final RowMapper<UserFavouriteTags> userFavouriteTagsRowMapper;
+    LoggingService loggingService;
 
     /**
      * Constructor
@@ -40,7 +43,7 @@ public class MiscQueriesImpl implements MiscQueries{
      * @param user - the user
      * @param tag - the tag
      */
-    public void saveUserFavouriteTags(Users user, Tags tag) {
+    public void saveUserFavouriteTags(Users user, Tags tag, HttpSession session) {
         SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(jdbcTemplate)
                 .withTableName("User_Favourite_Tags")
                 .usingGeneratedKeyColumns("User_Favourite_Tag_Id");
@@ -50,13 +53,21 @@ public class MiscQueriesImpl implements MiscQueries{
         parameters.put("Tag_Id", tag.getTagId());
 
         Number id = simpleJdbcInsert.execute(parameters);
+        // Log the changes
+        loggingService.logEvent(
+                "UserFavouriteTag Inserted",
+                session,
+                "UserFavouriteTag Inserted with User Id: " + user.getUserId() +
+                        " and Tag Id: " + tag.getTagId() +
+                        " in MiscQueriesImpl.saveUserFavouriteTags()"
+        );
     }
 
     /**
      * Insert into "Users" table
      * @param user - the user to insert
      */
-    public void saveUser(Users user) {
+    public void saveUser(Users user, HttpSession session) {
         SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(jdbcTemplate)
                 .withTableName("Users")
                 .usingGeneratedKeyColumns("User_Id");
@@ -73,58 +84,104 @@ public class MiscQueriesImpl implements MiscQueries{
         parameters.put("User_Reset_Code_Expiry", user.getUserResetCodeExpiry());
 
         Number id = simpleJdbcInsert.execute(parameters);
+        // Log the change
+        loggingService.logEvent(
+                "New User",
+                session,
+                "New User Inserted with Email: " + user.getUserEmail() +
+                        " in MiscQueriesImpl.saveUser()"
+        );
     }
 
-    public void updateUser(int userId, String field, Object value) {
+    public void updateUser(int userId, String field, Object value, HttpSession session) {
         switch (field) {
             case "User_First_Name": {
-                String sql = "UPDATE Users SET User_First_Name = ? WHERE User_Id = ?";
+                String sql = "UPDATE mydb.Users SET User_First_Name = ? WHERE User_Id = ?";
                 jdbcTemplate.update(
                         // Script
                         sql,
                         // Arguments
                         value, userId
                 );
+                // Log the change
+                loggingService.logEvent(
+                        "User Details Changed",
+                        session,
+                        "User Details Updated with User Id: " + userId +
+                                " with field: User_First_Name and value: " + value +
+                                " in MiscQueriesImpl.updateUser()"
+                );
                 break;
             }
             case "User_Last_Name": {
-                String sql = "UPDATE Users SET User_Last_Name = ? WHERE User_Id = ?";
+                String sql = "UPDATE mydb.Users SET User_Last_Name = ? WHERE User_Id = ?";
                 jdbcTemplate.update(
                         // Script
                         sql,
                         // Arguments
                         value, userId
                 );
+                // Log the change
+                loggingService.logEvent(
+                        "User Details Changed",
+                        session,
+                        "User Details Updated with User Id: " + userId +
+                                " with field: User_Last_Name and value: " + value +
+                                " in MiscQueriesImpl.updateUser()"
+                );
                 break;
             }
             case "User_Email": {
-                String sql = "UPDATE Users SET User_Email = ? WHERE User_Id = ?";
+                String sql = "UPDATE mydb.Users SET User_Email = ? WHERE User_Id = ?";
                 jdbcTemplate.update(
                         // Script
                         sql,
                         // Arguments
                         value, userId
                 );
+                // Log the change
+                loggingService.logEvent(
+                        "User Details Changed",
+                        session,
+                        "User Details Updated with User Id: " + userId +
+                                " with field: User_Email and value: " + value +
+                                " in MiscQueriesImpl.updateUser()"
+                );
                 break;
             }
             case "User_Profile_Picture": {
-                String sql = "UPDATE Users SET User_Profile_Picture = ? WHERE User_Id = ?";
+                String sql = "UPDATE mydb.Users SET User_Profile_Picture = ? WHERE User_Id = ?";
                 jdbcTemplate.update(
                         // Script
                         sql,
                         // Arguments
                         value, userId
                 );
+                // Log the change
+                loggingService.logEvent(
+                        "User Details Changed",
+                        session,
+                        "User Details Updated with User Id: " + userId +
+                                " with field: User_Profile_Picture and value: " + value +
+                                " in MiscQueriesImpl.updateUser()"
+                );
                 break;
             }
             case "User_Password": {
-                String sql = "UPDATE Users SET User_Password = ? WHERE User_Id = ?";
+                String sql = "UPDATE mydb.Users SET User_Password = ? WHERE User_Id = ?";
                 jdbcTemplate.update(
                         // Script
                         sql,
                         // Arguments
                         value, userId
                 );
+                // Log the change
+                loggingService.logEvent(
+                        "User Details Changed",
+                        session,
+                        "User Details Updated with User Id: " + userId +
+                                " with field: User_Password in MiscQueriesImpl.updateUser()"
+                );
                 break;
             }
         }
@@ -134,7 +191,7 @@ public class MiscQueriesImpl implements MiscQueries{
      * Insert into the "Tags" table
      * @param tag - the tag to insert
      */
-    public void saveTag(Tags tag) {
+    public void saveTag(Tags tag, HttpSession session) {
         SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(jdbcTemplate)
                 .withTableName("Tags")
                 .usingGeneratedKeyColumns("Tag_Id");
@@ -152,7 +209,7 @@ public class MiscQueriesImpl implements MiscQueries{
      */
     public List<UserFavouriteTags> findAllUserFavouriteTags() {
         return jdbcTemplate.query(
-                "select * from User_Favourite_Tags",
+                "select * from mydb.User_Favourite_Tags",
                 userFavouriteTagsRowMapper,
                 new Object[]{}
         );
diff --git a/src/main/java/com/example/clientproject/service/LoggingService.java b/src/main/java/com/example/clientproject/service/LoggingService.java
index aa453854b260c560b6cfa466c2f51a590796ebf5..9d2461c36ca5fbdc785d365b593afc089f8ab86c 100644
--- a/src/main/java/com/example/clientproject/service/LoggingService.java
+++ b/src/main/java/com/example/clientproject/service/LoggingService.java
@@ -1,6 +1,7 @@
 package com.example.clientproject.service;
 
 import com.example.clientproject.data.events.Events;
+import com.example.clientproject.data.events.EventsRepo;
 import com.example.clientproject.data.logs.Logs;
 import com.example.clientproject.data.logs.LogsRepo;
 import com.example.clientproject.service.Utils.JWTUtils;
@@ -9,13 +10,15 @@ import org.springframework.stereotype.Service;
 import javax.servlet.http.HttpSession;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Optional;
 
 /**
- * Service for all logging based methods
+ * Service for all logging related methods
  */
 @Service
 public class LoggingService {
     LogsRepo logsRepo;
+    EventsRepo eventsRepo;
     JWTUtils jwtUtils;
 
     /**
@@ -23,18 +26,23 @@ public class LoggingService {
      * @param aLogsRepo - object of type LogsRepo
      * @param aJWTUtils - object of type JWTUtils
      */
-    public LoggingService(LogsRepo aLogsRepo, JWTUtils aJWTUtils) {
+    public LoggingService(LogsRepo aLogsRepo, EventsRepo aEventRepo, JWTUtils aJWTUtils) {
         jwtUtils = aJWTUtils;
+        eventsRepo = aEventRepo;
         logsRepo = aLogsRepo;
     }
 
+    public Optional<Events> findEventByName(String eventName) {
+        return eventsRepo.findByEventName(eventName);
+    }
+
     /**
      * Method for logging an event
      * @param event - the event
      * @param session - the session
      * @param details - details of the event
      */
-    public void logEvent(Events event, HttpSession session, String details) {
+    public void logEvent(String event, HttpSession session, String details) {
         // Instantiate a flagging variable
         boolean superAdminStatus;
         // If the session attribute "superAdmin" doesn't exist (super admin not logged in)
@@ -56,7 +64,7 @@ public class LoggingService {
                 LocalDateTime.now().format(formatter),
                 superAdminStatus,
                 jwtUtils.getLoggedInUserRow(session).get(),
-                event
+                findEventByName(event).get()
         );
 
         // Save the new log
diff --git a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
index e2c5606b441a2d7b62132fd991873cdd6f07599f..27e6caed5aba966e3bed53a84a3c5b4d5e3fdb0c 100644
--- a/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
+++ b/src/main/java/com/example/clientproject/services/BusinessRegisterSaver.java
@@ -14,10 +14,12 @@ import com.example.clientproject.data.tags.Tags;
 import com.example.clientproject.data.tags.TagsRepo;
 import com.example.clientproject.data.userStampBoards.UserStampBoards;
 import com.example.clientproject.data.userStampBoards.UserStampBoardsRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,40 +28,62 @@ import java.util.Locale;
 @Service
 public class BusinessRegisterSaver {
 
-    @Autowired
-    ShopsRepo shopsRepo;
-
-    @Autowired
-    StampBoardsRepo stampBoards;
-
-    @Autowired
-    CategoriesRepo categoriesRepo;
-
-    @Autowired
-    SocialsRepo socialsRepo;
-
-    @Autowired
-    TagsRepo tagsRepo;
-
-    @Autowired
-    JdbcTemplate jdbc;
-
-    @Autowired
-    LinkUserShop linkShop;
-
-    @Autowired
-    RewardsRepo rewardsRepo;
+    private ShopsRepo shopsRepo;
+    private StampBoardsRepo stampBoards;
+    private CategoriesRepo categoriesRepo;
+    private SocialsRepo socialsRepo;
+    private TagsRepo tagsRepo;
+    private JdbcTemplate jdbc;
+    private LinkUserShop linkShop;
+    private LoggingService loggingService;
+
+    /**
+     * Constructor
+     * @param shopsRepo - shopsRepo
+     * @param stampBoards - stampBoards
+     * @param categoriesRepo - categoriesRepo
+     * @param socialsRepo - socialsRepo
+     * @param tagsRepo - tagsRepo
+     * @param jdbc - jdbc
+     * @param linkShop - linkShop
+     * @param rewardsRepo - rewardsRepo
+     * @param loggingService - loggingService
+     */
+    public BusinessRegisterSaver(ShopsRepo shopsRepo, StampBoardsRepo stampBoards, CategoriesRepo categoriesRepo, SocialsRepo socialsRepo, TagsRepo tagsRepo, JdbcTemplate jdbc, LinkUserShop linkShop, RewardsRepo rewardsRepo, LoggingService loggingService) {
+        this.shopsRepo = shopsRepo;
+        this.stampBoards = stampBoards;
+        this.categoriesRepo = categoriesRepo;
+        this.socialsRepo = socialsRepo;
+        this.tagsRepo = tagsRepo;
+        this.jdbc = jdbc;
+        this.linkShop = linkShop;
+        this.loggingService = loggingService;
+    }
 
-    public void save(BusinessRegisterDTO business, long userId){
+    public void save(BusinessRegisterDTO business, long userId, HttpSession session){
 
-        String query = "INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (8, '#ff0000', 'stamp.jpg')";
+        String query = "INSERT INTO mydb.Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (8, '#ff0000', 'stamp.jpg')";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "New Stamp Board",
+                session,
+                "New StampBoard created for Shop: " +  business.getBusiness_register_name() +
+                        " in BusinessRegisterSaver.save()"
+        );
 
         long currentStampId = stampBoards.findAll().get(stampBoards.findAll().size()-1).getStampBoardId();
-        String rewardsQuery = "INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES (\"10% off\", 4," +
+        String rewardsQuery = "INSERT INTO mydb.Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES (\"10% off\", 4," +
                 currentStampId +  ")";
         //System.out.println(rewardsQuery);
         jdbc.execute(rewardsQuery);
+        // Log the change
+        loggingService.logEvent(
+                "New Reward",
+                session,
+                "New Reward created for StampBoard: " +  currentStampId +
+                        " in BusinessRegisterSaver.save()"
+        );
 
         StampBoards stampBoard = stampBoards.findAll().get(stampBoards.findAll().size()-1);
 
@@ -83,6 +107,14 @@ public class BusinessRegisterSaver {
         //System.out.println(shop.getStampBoard());
 
         shopsRepo.save(shop);
+        // Log the change
+        loggingService.logEvent(
+                "New Shop",
+                session,
+                "New Shop created for User: " + userId +
+                        " in BusinessRegisterSaver.save()"
+        );
+
         List<String> tagsList = new ArrayList<>();
         List<String> tagsLowerList = new ArrayList<>();
         tagsRepo.findAll().forEach(x -> tagsList.add(x.getTagName()));
@@ -91,7 +123,7 @@ public class BusinessRegisterSaver {
         System.out.println(tagsLowerList);
         business.getBusinessTags().forEach(x-> System.out.println(x));
 
-        linkShop.linkUserShop(shop.getShopId(), userId, 2L);
+        linkShop.linkUserShop(shop.getShopId(), userId, 2L, session);
 
         for(String t: business.getBusinessTags()){
             Tags tag;
@@ -100,20 +132,63 @@ public class BusinessRegisterSaver {
             }else{
                 tag = new Tags(t.toLowerCase());
                 tagsRepo.save(tag);
+                // Log the change
+                loggingService.logEvent(
+                        "New Tag",
+                        session,
+                        "New Tag created with name: " + tag.getTagName() +
+                                " in BusinessRegisterSaver.save()"
+                );
             }
 
-
-            query = "INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES ("+ shop.getShopId() +
+            query = "INSERT INTO mydb.Shop_Tag_Links (Shop_Id, Tag_Id) VALUES ("+ shop.getShopId() +
                     ","+tag.getTagId() + ")";
-
             jdbc.execute(query);
-
+            // Log the change
+            loggingService.logEvent(
+                    "New Shop Tag Link",
+                    session,
+                    "New Shop Tag Link created for shop: " + shop.getShopId() +
+                            " and tag: " + tag.getTagId() +
+                            " in BusinessRegisterSaver.save()"
+            );
         }
 
         socialsRepo.save(new Socials(shop, "Facebook", business.getFacebook()));
+        // Log the change
+        loggingService.logEvent(
+                "New Social",
+                session,
+                "New Social created for shop: " + shop.getShopId() +
+                        " in BusinessRegisterSaver.save()"
+        );
+
         socialsRepo.save(new Socials(shop, "Twitter", business.getTwitter()));
+        // Log the change
+        loggingService.logEvent(
+                "New Social",
+                session,
+                "New Social created for shop: " + shop.getShopId() +
+                        " in BusinessRegisterSaver.save()"
+        );
+
         socialsRepo.save(new Socials(shop, "Instagram", business.getInstagram()));
+        // Log the change
+        loggingService.logEvent(
+                "New Social",
+                session,
+                "New Social created for shop: " + shop.getShopId() +
+                        " in BusinessRegisterSaver.save()"
+        );
+
         socialsRepo.save(new Socials(shop, "TikTok", business.getTiktok()));
+        // Log the change
+        loggingService.logEvent(
+                "New Social",
+                session,
+                "New Social created for shop: " + shop.getShopId() +
+                        " in BusinessRegisterSaver.save()"
+        );
 
 
         //System.out.println(shop.getShopId());
diff --git a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
index c2c264cbcd21d53a6a90a48e4e6da0d4fa609f11..9cb3e528fa8c3b2f8e807146e90dff1a7d2b2b23 100644
--- a/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
+++ b/src/main/java/com/example/clientproject/services/DashboardStampLoader.java
@@ -14,13 +14,16 @@ import java.util.*;
 
 @Service
 public class DashboardStampLoader {
-    @Autowired
     UsersRepo userRepo;
-    @Autowired
     ShopsRepo shopsRepo;
-    @Autowired
     UserFavouriteToggle toggleFavourite;
 
+    public DashboardStampLoader(UsersRepo userRepo, ShopsRepo shopsRepo, UserFavouriteToggle toggleFavourite) {
+        this.userRepo = userRepo;
+        this.shopsRepo = shopsRepo;
+        this.toggleFavourite = toggleFavourite;
+    }
+
     public Map<String, Object> getData(int userId) throws Exception {
         List<Map<String, Object>> combinedInfo = new ArrayList<>();
 
diff --git a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
index ec93834e30a2164233f9f6c89ad9e7f95c3ff08c..0221bbef63f55121413340ace37d0cedec062322 100644
--- a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
+++ b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
@@ -9,14 +9,17 @@ import java.util.Map;
 
 @Service
 public class GetStampBoardIdFromRewardId {
-    @Autowired
     JdbcTemplate jdbc;
 
+    public GetStampBoardIdFromRewardId(JdbcTemplate jdbc) {
+        this.jdbc = jdbc;
+    }
+
     /**
      * @param rewardId the rewardId of the stampBoardId you want to retrieve
      */
     public int getStampBoardId(Integer rewardId){
-        String query = "SELECT Stamp_Board_Id FROM rewards WHERE Reward_Id = " + rewardId + ";";
+        String query = "SELECT Stamp_Board_Id FROM mydb.rewards WHERE Reward_Id = " + rewardId + ";";
         try{
             List<Map<String, Object>> rs = jdbc.queryForList(query);
 
diff --git a/src/main/java/com/example/clientproject/services/LinkUserShop.java b/src/main/java/com/example/clientproject/services/LinkUserShop.java
index 66c3eee2ec61ee42351f89b4f5955fff4c1958fe..c458d7d0d6766888ee059246417e30ec13a8ae8b 100644
--- a/src/main/java/com/example/clientproject/services/LinkUserShop.java
+++ b/src/main/java/com/example/clientproject/services/LinkUserShop.java
@@ -8,8 +8,11 @@ import com.example.clientproject.data.userPermissions.UserPermissions;
 import com.example.clientproject.data.userPermissions.UserPermissionsRepo;
 import com.example.clientproject.data.users.Users;
 import com.example.clientproject.data.users.UsersRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class LinkUserShop {
 
@@ -17,18 +20,21 @@ public class LinkUserShop {
     ShopsRepo shopsRepo;
     AdminTypesRepo adminTypesRepo;
     UserPermissionsRepo userPermissionsRepo;
+    LoggingService loggingService;
 
     public LinkUserShop(UsersRepo aUsersRepo,
                         ShopsRepo aShopsRepo,
                         AdminTypesRepo anAdminTypesRepo,
-                        UserPermissionsRepo aUserPermissionsRepo){
+                        UserPermissionsRepo aUserPermissionsRepo,
+                        LoggingService aLoggingService){
         userRepo = aUsersRepo;
         shopsRepo = aShopsRepo;
         adminTypesRepo = anAdminTypesRepo;
         userPermissionsRepo = aUserPermissionsRepo;
+        loggingService = aLoggingService;
     }
 
-    public void linkUserShop(long shopId, long userID, long adminTypeId){
+    public void linkUserShop(long shopId, long userID, long adminTypeId, HttpSession session){
         try {
             Users user = userRepo.findById(userID).get();
             Shops shop = shopsRepo.getById(shopId);
@@ -37,6 +43,15 @@ public class LinkUserShop {
             UserPermissions link = new UserPermissions(user, shop, adminType);
 
             userPermissionsRepo.save(link);
+            // Log the change
+            loggingService.logEvent(
+                    "New User Permission",
+                    session,
+                    "New User Permission added for User: " + user.getUserId() +
+                            " with Shop: " + shop.getShopId() +
+                            " with Admin Type: " + adminType.getAdminTypeId() +
+                            " in LinkUserShop.linkUserShop()"
+            );
         }catch(Exception e){
             e.printStackTrace();
         }
diff --git a/src/main/java/com/example/clientproject/services/RecommendationGenerator.java b/src/main/java/com/example/clientproject/services/RecommendationGenerator.java
index 320f171c28fe0b91c0c44a29ce4912b9add86af2..1fc7207e6672e7a922b9b111aef1ee98b5a4718a 100644
--- a/src/main/java/com/example/clientproject/services/RecommendationGenerator.java
+++ b/src/main/java/com/example/clientproject/services/RecommendationGenerator.java
@@ -22,22 +22,20 @@ import java.util.*;
 
 @Service
 public class RecommendationGenerator {
-    public JWTUtils jwtUtils;
-    public UserFavouriteToggle favouriteToggle;
-    public StampBoardsRepo stampBoardsRepo;
-    public UserStampBoardsRepo userStampBoardsRepo;
-
-    @Autowired
+    JWTUtils jwtUtils;
+    UserFavouriteToggle favouriteToggle;
+    StampBoardsRepo stampBoardsRepo;
+    UserStampBoardsRepo userStampBoardsRepo;
     UsersRepo usersRepo;
-
-    @Autowired
     ShopsRepo shopsRepo;
 
-    public RecommendationGenerator(JWTUtils jwt, UserFavouriteToggle uft, StampBoardsRepo sbr, UserStampBoardsRepo usbr){
-        jwtUtils = jwt;
-        favouriteToggle = uft;
-        stampBoardsRepo = sbr;
-        userStampBoardsRepo = usbr;
+    public RecommendationGenerator(JWTUtils jwtUtils, UserFavouriteToggle favouriteToggle, StampBoardsRepo stampBoardsRepo, UserStampBoardsRepo userStampBoardsRepo, UsersRepo usersRepo, ShopsRepo shopsRepo) {
+        this.jwtUtils = jwtUtils;
+        this.favouriteToggle = favouriteToggle;
+        this.stampBoardsRepo = stampBoardsRepo;
+        this.userStampBoardsRepo = userStampBoardsRepo;
+        this.usersRepo = usersRepo;
+        this.shopsRepo = shopsRepo;
     }
 
     public List<Shops> getRecommendations(HttpSession session, List<Shops> shopsToRecommend) throws Exception {
diff --git a/src/main/java/com/example/clientproject/services/ShopActiveService.java b/src/main/java/com/example/clientproject/services/ShopActiveService.java
index 9c7ed39f7d9a89735d8ac115058908508407bf1a..8ec00b70ce19b1a66c564ca6dad53ba0667d73d1 100644
--- a/src/main/java/com/example/clientproject/services/ShopActiveService.java
+++ b/src/main/java/com/example/clientproject/services/ShopActiveService.java
@@ -1,25 +1,31 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
 import java.util.List;
 import java.util.Map;
 
 
 @Service
 public class ShopActiveService {
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
 
+    public ShopActiveService(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
     /**
      * @param shopId - uses shopId to select which shop will have its active field checked
      * @return - an int of Shop activity 1 = active || 0 = not active
      */
     public int isShopActive(Integer shopId){
-        String query = "SELECT Shop_Active FROM shops WHERE Shop_Id = " + shopId + ";";
+        String query = "SELECT Shop_Active FROM mydb.shops WHERE Shop_Id = " + shopId + ";";
         try{
             List<Map<String, Object>> rs = jdbc.queryForList(query);
 
@@ -35,10 +41,18 @@ public class ShopActiveService {
      * @param active - will either be 1 or 0 and will update shops "Shop_Active" field accordingly
      */
 
-    public void updateShopActive(Integer shopId, Integer active){
+    public void updateShopActive(Integer shopId, Integer active, HttpSession session){
         if(active == 0 || active == 1){ //only allows active values of 0 or 1
-            String query = "UPDATE shops SET Shop_Active = " + active + " WHERE Shop_Id = " + shopId + ";";
+            String query = "UPDATE mydb.shops SET Shop_Active = " + active + " WHERE Shop_Id = " + shopId + ";";
             jdbc.execute(query);
+            // Log the change
+            loggingService.logEvent(
+                    "Shop Update",
+                    session,
+                    "Update to Shop: " + shopId +
+                            " with field: Shop_Active with value: " + active +
+                            " in ShopActiveService.updateShopActive()"
+            );
         }
     }
 
diff --git a/src/main/java/com/example/clientproject/services/ShopDeleter.java b/src/main/java/com/example/clientproject/services/ShopDeleter.java
index ced2b5979ec6b678eec33c230de8b956b8b9ffaf..2f7bf251a0e4e40d7ff8d820d1d06b63f3345d97 100644
--- a/src/main/java/com/example/clientproject/services/ShopDeleter.java
+++ b/src/main/java/com/example/clientproject/services/ShopDeleter.java
@@ -1,20 +1,31 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class ShopDeleter {
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
 
     /**
      * @param shopId - the shopID of the shop that the stored procedure is going to delete
      */
-    public void deleteShop(Integer shopId){
+    public void deleteShop(Integer shopId, HttpSession session){
         String query = "CALL `mydb`.`deleteShop`('" + shopId + "');";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "Deleted Shop",
+                session,
+                "Shop deleted with Shop Id: " + shopId +
+                        " in ShopDeleter.deleteShop()"
+        );
+
     }
 
 }
diff --git a/src/main/java/com/example/clientproject/services/StampboardUpdater.java b/src/main/java/com/example/clientproject/services/StampboardUpdater.java
index a8d790ff6ac5b3cdbe7680748a5ca34aaf69dffa..a6bf36aab18319d343221b13c5111a9a6dfe622a 100644
--- a/src/main/java/com/example/clientproject/services/StampboardUpdater.java
+++ b/src/main/java/com/example/clientproject/services/StampboardUpdater.java
@@ -1,53 +1,93 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
 import java.util.Map;
 
 @Service
 public class StampboardUpdater {
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
+
+    public StampboardUpdater(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
     //When using ensure you have validated authority first
 
-    public void updateColour(Integer shopId, String colour){
-        String query = "UPDATE stamp_boards SET Stamp_Board_Colour = '"+ colour +"' WHERE Stamp_Board_Id = (" +
+    public void updateColour(Integer shopId, String colour, HttpSession session){
+        String query = "UPDATE mydb.stamp_boards SET Stamp_Board_Colour = '"+ colour +"' WHERE Stamp_Board_Id = (" +
                 "SELECT stamp_boards.Stamp_Board_Id FROM mydb.stamp_boards INNER JOIN " +
-                "shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
-
+                "mydb.shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "Stamp Board Updated",
+                session,
+                "Stamp Board updated for Shop: " + shopId +
+                        " with field: Stamp_Board_Colour with value: " + colour +
+                        " in StampboardUpdater.updateColour()"
+        );
     }
 
-    public void updateRewards(Integer shopId, Map<String,Object> rewards){
-        String deleteQuery = "delete from rewards where Stamp_Board_Id = (" +
-                "SELECT Stamp_Board_Id from shops where Shop_Id = "+shopId+");";
-
+    public void updateRewards(Integer shopId, Map<String,Object> rewards, HttpSession session){
+        String deleteQuery = "delete from mydb.rewards where Stamp_Board_Id = (" +
+                "SELECT Stamp_Board_Id from mydb.shops where Shop_Id = "+shopId+");";
         jdbc.execute(deleteQuery);
+        // Log the change
+        loggingService.logEvent(
+                "Reward Deleted",
+                session,
+                "Rewards deleted for StampBoard for Shop: " + shopId +
+                        " in StampboardUpdater.updateRewards()"
+        );
 
         rewards.entrySet().forEach(r -> {
-            String insertQuery = "INSERT into rewards (Reward_Name, Reward_Stamp_Location,Stamp_Board_Id) values (\""+r.getValue()+"\", " +
-                    r.getKey()+",(SELECT Stamp_Board_Id from shops where Shop_Id = "+ shopId.toString() +"));";
-
+            String insertQuery = "INSERT into mydb.rewards (Reward_Name, Reward_Stamp_Location,Stamp_Board_Id) values (\""+r.getValue()+"\", " +
+                    r.getKey()+",(SELECT Stamp_Board_Id from mydb.shops where Shop_Id = "+ shopId.toString() +"));";
             jdbc.execute(insertQuery);
+            // Log the change
+            loggingService.logEvent(
+                    "New Reward",
+                    session,
+                    "Reward inserted for StampBoard for Shop: " + shopId +
+                            " in StampboardUpdater.updateRewards()"
+            );
         });
     }
 
-    public void updateStampboardSize(Integer shopId, Integer size){
-        String query = "UPDATE stamp_boards SET Stamp_Board_Size = "+ size +" WHERE Stamp_Board_Id = (" +
+    public void updateStampboardSize(Integer shopId, Integer size, HttpSession session){
+        String query = "UPDATE mydb.stamp_boards SET Stamp_Board_Size = "+ size +" WHERE Stamp_Board_Id = (" +
                 "SELECT stamp_boards.Stamp_Board_Id FROM mydb.stamp_boards INNER JOIN " +
-                "shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
-
+                "mydb.shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "StampBoard Updated",
+                session,
+                "StampBoard updated for Shop: " + shopId +
+                        " with: field Stamp_BoardSize with value:" + size +
+                        " in StampboardUpdater.updateStampboardSize()"
+        );
     }
 
-    public void updateIconURL(Integer shopId, String url){
-        String query = "UPDATE stamp_boards SET Stamp_Board_Icon = '"+ url +"' WHERE Stamp_Board_Id = (" +
+    public void updateIconURL(Integer shopId, String url, HttpSession session){
+        String query = "UPDATE mydb.stamp_boards SET Stamp_Board_Icon = '"+ url +"' WHERE Stamp_Board_Id = (" +
                 "SELECT stamp_boards.Stamp_Board_Id FROM mydb.stamp_boards INNER JOIN " +
-                "shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
-
+                "mydb.shops on shops.Stamp_Board_Id = stamp_boards.Stamp_Board_Id where shops.Shop_Id = "+ shopId +" limit 1);";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "StampBoard Updated",
+                session,
+                "StampBoard updated for Shop: " + shopId +
+                        " with: field Stamp_Board_Icon with value:" + url +
+                        " in StampboardUpdater.updateIconURL()"
+        );
     }
 }
diff --git a/src/main/java/com/example/clientproject/services/UpdateKeyInfo.java b/src/main/java/com/example/clientproject/services/UpdateKeyInfo.java
index 6903dc97958553b7f9f7b6ce72c2cb29b09b4263..fe28be7d600da4466bd2ab3f4ab38039044d9382 100644
--- a/src/main/java/com/example/clientproject/services/UpdateKeyInfo.java
+++ b/src/main/java/com/example/clientproject/services/UpdateKeyInfo.java
@@ -2,16 +2,24 @@ package com.example.clientproject.services;
 
 import com.example.clientproject.data.shops.Shops;
 import com.example.clientproject.data.shops.ShopsRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class UpdateKeyInfo {
 
-    @Autowired
     ShopsRepo shopsRepo;
+    LoggingService loggingService;
+
+    public UpdateKeyInfo(ShopsRepo shopsRepo, LoggingService loggingService) {
+        this.shopsRepo = shopsRepo;
+        this.loggingService = loggingService;
+    }
 
-    public void updateInfo(KeyInfoDTO kiDTO){
+    public void updateInfo(KeyInfoDTO kiDTO, HttpSession session){
         Shops shop = shopsRepo.getById((long) kiDTO.getShopId());
 
         shop.setShopName(kiDTO.getShopName());
@@ -25,6 +33,13 @@ public class UpdateKeyInfo {
         }
 
         shopsRepo.save(shop);
+        // Log the change
+        loggingService.logEvent(
+                "Shop Updated",
+                session,
+                "Shop updated with Shop Id: " + kiDTO.getShopId() +
+                        " in UpdateKeyInfo.updateInfo()"
+        );
     }
 
 }
diff --git a/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java b/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java
index 5743db7eaf71b981e26f2e588d5b11f427a8281e..d5876161b094aed13f41c5830d8309fd8ea2354e 100644
--- a/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java
+++ b/src/main/java/com/example/clientproject/services/UserFavouriteDeleter.java
@@ -1,28 +1,41 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class UserFavouriteDeleter {
 
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
+
+    public UserFavouriteDeleter(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
     /**
      * Takes a userfavourite DTO and removes it from the database.
-     * @param usfDTO
+     * @param usfDTO - usfDTO
+     * @param session - session
      */
-    public void delete(UserFavouriteDTO usfDTO){
+    public void delete(UserFavouriteDTO usfDTO, HttpSession session){
 
-        String query = "DELETE FROM User_Shop_Links WHERE (Shop_Id = " +
+        String query = "DELETE FROM mydb.User_Shop_Links WHERE (Shop_Id = " +
                 usfDTO.getShopId() +" AND User_Id = " +
                 usfDTO.getUserId() +")";
-
-        //System.out.println(query);
-
         jdbc.execute(query);
-
+        // Log the change
+        loggingService.logEvent(
+                "UserShopLink Deleted",
+                session,
+                "UserShopLink deleted with Shop Id: " + usfDTO.getShopId() +
+                        " and User Id: " + usfDTO.getUserId() +
+                        " in UserFavouriteDeleter.delete()"
+        );
     }
 }
diff --git a/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java b/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
index df390f2d75aabdc3953d256eccf611f9a6d19079..da7687d0fc8edcf26566f50a3d9eee23024a9ff5 100644
--- a/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
+++ b/src/main/java/com/example/clientproject/services/UserFavouriteSaver.java
@@ -1,28 +1,40 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 //This can be deleted, class "UserFavouriteTagSaver" is being used
 @Service
 public class UserFavouriteSaver {
 
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
+
+    public UserFavouriteSaver(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
     /**
      * Takes a user dto and saves it to the DB with jdbc
-     * @param urfDTO UserfavouriteDTO
+     * @param urfDTO UserFavouriteDTO
+     * @param session - session
      */
-    public void save(UserFavouriteDTO urfDTO){
-
-        String query = "INSERT INTO User_Shop_Links (Shop_Id, User_Id) VALUES ("+ urfDTO.getShopId() +
+    public void save(UserFavouriteDTO urfDTO, HttpSession session){
+        String query = "INSERT INTO mydb.User_Shop_Links (Shop_Id, User_Id) VALUES ("+ urfDTO.getShopId() +
                 ","+urfDTO.getUserId() + ")";
-
-        //System.out.println(query);
-
         jdbc.execute(query);
-
+        // Log the change
+        loggingService.logEvent(
+                "UserShopLink Inserted",
+                session,
+                "UserShopLink inserted with Shop Id: " + urfDTO.getShopId() +
+                        " and User Id: " + urfDTO.getUserId() +
+                        " in UserFavouriteSaver.save()"
+        );
     }
 }
diff --git a/src/main/java/com/example/clientproject/services/UserFavouriteTagSaver.java b/src/main/java/com/example/clientproject/services/UserFavouriteTagSaver.java
index 80e5ea3b968cdb981bf35fb024bba9e7a6520335..dd6429d407d54f13d4c8e4dfbb86a7804694c81b 100644
--- a/src/main/java/com/example/clientproject/services/UserFavouriteTagSaver.java
+++ b/src/main/java/com/example/clientproject/services/UserFavouriteTagSaver.java
@@ -1,26 +1,41 @@
 package com.example.clientproject.services;
 
+import com.example.clientproject.service.LoggingService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class UserFavouriteTagSaver {
 
-    @Autowired
     JdbcTemplate jdbc;
+    LoggingService loggingService;
+
+    public UserFavouriteTagSaver(JdbcTemplate jdbc, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.loggingService = loggingService;
+    }
 
-    public void saveUserFavTag(int UserID, String TagID){
+    public void saveUserFavTag(int userID, String tagID, HttpSession session){
 
         String disableFKeyChecks = "SET FOREIGN_KEY_CHECKS=0;";
         String enableFKeyChecks = "SET FOREIGN_KEY_CHECKS=1;";
         jdbc.execute(disableFKeyChecks);
 
-        String query = "INSERT INTO user_favourite_tags (User_Id, Tag_Id) VALUES ("+ UserID + ","+TagID + ")";
+        String query = "INSERT INTO mydb.user_favourite_tags (User_Id, Tag_Id) VALUES ("+ userID + ","+tagID + ")";
         jdbc.execute(query);
         jdbc.execute(enableFKeyChecks);
+        // Log the changes
+        loggingService.logEvent(
+                "UserFavouriteTag Inserted",
+                session,
+                "UserFavouriteTag Inserted with User Id: " + userID +
+                        "and Tag Id: " + tagID +
+                        " in UserFavouriteTagSaver.saveUserFavTag()"
+        );
     }
-
 }
 
 
diff --git a/src/main/java/com/example/clientproject/services/UserSocialSave.java b/src/main/java/com/example/clientproject/services/UserSocialSave.java
index 29c82b26748575f063151e7af84b1a1e638a561e..b9813831e66e50606b14e8715207c08e2c4979e4 100644
--- a/src/main/java/com/example/clientproject/services/UserSocialSave.java
+++ b/src/main/java/com/example/clientproject/services/UserSocialSave.java
@@ -1,18 +1,25 @@
 package com.example.clientproject.services;
 
 import com.example.clientproject.data.socials.SocialsRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
+
 @Service
 public class UserSocialSave {
 
-    @Autowired
     JdbcTemplate jdbc;
-
-    @Autowired
     SocialsRepo socialRepo;
+    LoggingService loggingService;
+
+    public UserSocialSave(JdbcTemplate jdbc, SocialsRepo socialRepo, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.socialRepo = socialRepo;
+        this.loggingService = loggingService;
+    }
 
     private String queryGenerator(int shopId, String socialPlatform, String socialName){
         String query;
@@ -23,23 +30,59 @@ public class UserSocialSave {
         return query;
         }
 
-    public void updateSocials(UserSocialDTO usDTO){
+    public void updateSocials(UserSocialDTO usDTO, HttpSession session){
         int shopId = usDTO.getShopId();
         String query;
         query = queryGenerator(shopId, "Instagram", usDTO.getInstagram());
         jdbc.execute(query);
+        // Log the changes
+        loggingService.logEvent(
+                "Social Updated",
+                session,
+                "Social updated for Shop Id: " + shopId +
+                        " in UserSocialSave.updateSocials()"
+        );
+
         query = queryGenerator(shopId, "Facebook", usDTO.getFacebook());
         jdbc.execute(query);
+        // Log the changes
+        loggingService.logEvent(
+                "Social Updated",
+                session,
+                "Social updated for Shop Id: " + shopId +
+                        " in UserSocialSave.updateSocials()"
+        );
+
         query = queryGenerator(shopId, "Twitter", usDTO.getTwitter());
         jdbc.execute(query);
+        // Log the changes
+        loggingService.logEvent(
+                "Social Updated",
+                session,
+                "Social updated for Shop Id: " + shopId +
+                        " in UserSocialSave.updateSocials()"
+        );
+
         query = queryGenerator(shopId, "TikTok", usDTO.getTiktok());
         jdbc.execute(query);
-        query = "UPDATE Shops SET Shop_Website = '" +
+        // Log the changes
+        loggingService.logEvent(
+                "Social Updated",
+                session,
+                "Social updated for Shop Id: " + shopId +
+                        " in UserSocialSave.updateSocials()"
+        );
+
+        query = "UPDATE mydb.Shops SET Shop_Website = '" +
                 usDTO.getShopUrl() +
                 "' WHERE Shop_Id = " + shopId;
-
         jdbc.execute(query);
-
+        // Log the changes
+        loggingService.logEvent(
+                "ShopWebsite Updated",
+                session,
+                "Shop Website updated for Shop Id: " + shopId +
+                        " in UserSocialSave.updateSocials()"
+        );
     }
-
 }
diff --git a/src/main/java/com/example/clientproject/services/UserStampBoardService.java b/src/main/java/com/example/clientproject/services/UserStampBoardService.java
index b5391f7c6b490d671c8852b9554256065941b1e5..f29f93d80e17d806e259294e822123dd06f803d9 100644
--- a/src/main/java/com/example/clientproject/services/UserStampBoardService.java
+++ b/src/main/java/com/example/clientproject/services/UserStampBoardService.java
@@ -3,10 +3,12 @@ package com.example.clientproject.services;
 import com.example.clientproject.data.userStampBoards.UserStampBoards;
 import com.example.clientproject.data.userStampBoards.UserStampBoardsRepo;
 import com.example.clientproject.data.users.UsersRepo;
+import com.example.clientproject.service.LoggingService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpSession;
 import java.sql.ResultSet;
 import java.util.List;
 import java.util.Map;
@@ -15,11 +17,15 @@ import java.util.Objects;
 @Service
 public class UserStampBoardService {
 
-    @Autowired
     JdbcTemplate jdbc;
-
-    @Autowired
     UserStampBoardsRepo userRepo;
+    LoggingService loggingService;
+
+    public UserStampBoardService(JdbcTemplate jdbc, UserStampBoardsRepo userRepo, LoggingService loggingService) {
+        this.jdbc = jdbc;
+        this.userRepo = userRepo;
+        this.loggingService = loggingService;
+    }
 
     /**
      * Select user stamp position by userId and stampBoardId
@@ -28,7 +34,7 @@ public class UserStampBoardService {
      */
 
     public int getUserStampPos(int userID, int stampBoardID){
-        String query = "SELECT User_Stamp_Position FROM user_stamp_boards WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardID + ";";
+        String query = "SELECT User_Stamp_Position FROM mydb.user_stamp_boards WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardID + ";";
         try{
             List<Map<String, Object>> rs = jdbc.queryForList(query);
 
@@ -40,14 +46,32 @@ public class UserStampBoardService {
 
     }
 
-    public void changeUserStampPosition(int userID, int incrementValue, int currentUserStampPos, int stampBoardId){
+    public void changeUserStampPosition(int userID, int incrementValue, int currentUserStampPos, int stampBoardId, HttpSession session){
         int newStampPos = currentUserStampPos + incrementValue;
-        String query = "UPDATE user_stamp_boards SET User_Stamp_Position = " + newStampPos + " WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardId + ";";
+        String query = "UPDATE mydb.user_stamp_boards SET User_Stamp_Position = " + newStampPos + " WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardId + ";";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "UserStampBoard Updated",
+                session,
+                "UserStampBoard updated for StampBoard Id: " + stampBoardId +
+                        " where User Id: " + userID +
+                        " where field: User_Stamp_Position and value: " + newStampPos +
+                        " in UserStampBoardService.changeUserStampPosition()"
+        );
     }
 
-    public void createStampRecord(int userID, int stampPosition, int stampBoardId){
-        String query = "INSERT INTO user_stamp_boards (User_Id, Stamp_Board_Id, User_Stamp_Position) VALUES ("+userID+", "+stampBoardId+", "+ stampPosition +");";
+    public void createStampRecord(int userID, int stampPosition, int stampBoardId, HttpSession session){
+        String query = "INSERT INTO mydb.user_stamp_boards (User_Id, Stamp_Board_Id, User_Stamp_Position) VALUES ("+userID+", "+stampBoardId+", "+ stampPosition +");";
         jdbc.execute(query);
+        // Log the change
+        loggingService.logEvent(
+                "UserStampBoard Inserted",
+                session,
+                "UserStampBoard Inserted where User Id: " + userID +
+                        " StampBoard Id: " + stampBoardId +
+                        " and Stamp Position: " + stampPosition +
+                        " in UserStampBoardService.createStampRecord()"
+        );
     }
 }
diff --git a/src/main/java/com/example/clientproject/web/controllers/AdminController.java b/src/main/java/com/example/clientproject/web/controllers/AdminController.java
index 21efc8fde9057fea8d69543833cfd2b46bdca4a2..b21f430099856ec56b1a77fa7ff59c499f41b896 100644
--- a/src/main/java/com/example/clientproject/web/controllers/AdminController.java
+++ b/src/main/java/com/example/clientproject/web/controllers/AdminController.java
@@ -195,7 +195,7 @@ public class AdminController {
             }
             if (shopPermissionLevel == 2 || shopPermissionLevel == 3) {
                 System.out.println("shop is being deleted");
-                shopDeleter.deleteShop(shopId);
+                shopDeleter.deleteShop(shopId, session);
             }
             return "redirect:/settings";
         }
diff --git a/src/main/java/com/example/clientproject/web/controllers/SaveUserFavouriteTagController.java b/src/main/java/com/example/clientproject/web/controllers/SaveUserFavouriteTagController.java
index 54c2554f43063ec6690ea67a8e2241a1c1657c64..56aa5d29587c516f6cdcabb8c33d9fd616a8d009 100644
--- a/src/main/java/com/example/clientproject/web/controllers/SaveUserFavouriteTagController.java
+++ b/src/main/java/com/example/clientproject/web/controllers/SaveUserFavouriteTagController.java
@@ -38,7 +38,7 @@ public class SaveUserFavouriteTagController {
             //System.out.println(TagID_List.size());
             //System.out.println(TagID);
             int UserID = jwtUtils.getLoggedInUserId(session).get();
-            FavTagService.saveUserFavTag(UserID,TagID);
+            FavTagService.saveUserFavTag(UserID,TagID, session);
         }
         return("redirect:/");
     }
diff --git a/src/main/java/com/example/clientproject/web/controllers/userSettingsPage/UserSettingsController.java b/src/main/java/com/example/clientproject/web/controllers/userSettingsPage/UserSettingsController.java
index a228ad4a908c40674ac2a010004353fda8f53788..55be605a1cca6e20c91843fc517c8e081f003f5a 100644
--- a/src/main/java/com/example/clientproject/web/controllers/userSettingsPage/UserSettingsController.java
+++ b/src/main/java/com/example/clientproject/web/controllers/userSettingsPage/UserSettingsController.java
@@ -64,7 +64,8 @@ public class UserSettingsController {
             miscQueries.updateUser(
                     userId,
                     "User_First_Name",
-                    nameEmailProfileChangeForm.getNewFirstName()
+                    nameEmailProfileChangeForm.getNewFirstName(),
+                    httpSession
             );
         }
 
@@ -74,7 +75,8 @@ public class UserSettingsController {
             miscQueries.updateUser(
                     userId,
                     "User_Last_Name",
-                    nameEmailProfileChangeForm.getNewLastName()
+                    nameEmailProfileChangeForm.getNewLastName(),
+                    httpSession
             );
         }
 
@@ -84,7 +86,8 @@ public class UserSettingsController {
             miscQueries.updateUser(
                     userId,
                     "User_Email",
-                    nameEmailProfileChangeForm.getNewEmail().toLowerCase()
+                    nameEmailProfileChangeForm.getNewEmail().toLowerCase(),
+                    httpSession
             );
         }
 
@@ -94,7 +97,8 @@ public class UserSettingsController {
             miscQueries.updateUser(
                     userId,
                     "User_Profile_Picture",
-                    nameEmailProfileChangeForm.getNewProfilePic()
+                    nameEmailProfileChangeForm.getNewProfilePic(),
+                    httpSession
             );
         }
 
@@ -165,7 +169,8 @@ public class UserSettingsController {
                 "User_Password",
                 passwordEncoder.encode(
                         passwordChangeForm.getNewPassword()
-                )
+                ),
+                httpSession
         );
         // Add an attribute to the model
         model.addAttribute("passwordChangeSuccess", true);
diff --git a/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java b/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java
index 9841b2c5a5a4ac0ebd60269d2cd5a561b2186bd5..ba7207cae18b0f026f774a3f66c5d68e03d0bebd 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/BusinessFavouriter.java
@@ -25,11 +25,6 @@ public class BusinessFavouriter {
     }
 
 
-    /**
-     *
-     * @param submitted form, contains a UserID and ShopID
-     * @return ERROR or OK depending on whether it any errors are thrown.
-     */
     @PostMapping("/favouriteBusiness")
     public String favouriteBusiness(UserFavouriteForm uff, HttpSession session){
         UserFavouriteDTO ufDTO;
@@ -40,7 +35,7 @@ public class BusinessFavouriter {
         }
         try{
             if(toggleFavourite.alreadyInDb(ufDTO)){
-                deleteFavourite.delete(ufDTO);
+                deleteFavourite.delete(ufDTO, session);
             }else{
                 saveFavourite.save(ufDTO);
             }
diff --git a/src/main/java/com/example/clientproject/web/restControllers/ToggleShopActive.java b/src/main/java/com/example/clientproject/web/restControllers/ToggleShopActive.java
index 49629f6948e99e57d90e8b7dd3e1ef0a31d64938..8ee236a6b88f20a08f027e45ff990c7ae4048955 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/ToggleShopActive.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/ToggleShopActive.java
@@ -45,9 +45,9 @@ public class ToggleShopActive {
             if (shopPermissionLevel == 2 || shopPermissionLevel == 3) {
                 System.out.println("shop is being deleted");
                 if(shopActiveService.isShopActive(shopId) == 0){//if shop is currently un-active
-                    shopActiveService.updateShopActive(shopId, 1);//enables shop
+                    shopActiveService.updateShopActive(shopId, 1, session);//enables shop
                 } else if(shopActiveService.isShopActive(shopId) == 1){//if shop is currently active
-                    shopActiveService.updateShopActive(shopId, 0);//disables shop
+                    shopActiveService.updateShopActive(shopId, 0, session);//disables shop
                 } else {
                     System.out.println("an error has occured updating shop activity, shop may potentially have an active value other than 1 or 0");
                 }
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateKeyInformation.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateKeyInformation.java
index e975033706122c37e1028047c7b43474439fed99..b8d4401197ffb70a93758831eb95dcdd70d9a099 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UpdateKeyInformation.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateKeyInformation.java
@@ -28,7 +28,7 @@ public class UpdateKeyInformation {
             return "BAD SESSION";
         }
         try{
-            updateInfo.updateInfo(new KeyInfoDTO(keyInformationForm));
+            updateInfo.updateInfo(new KeyInfoDTO(keyInformationForm), session);
             return "OK";
         }catch (Exception e){
             e.printStackTrace();
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java
index 21d09d0a97766772da9917d84a6ffadefd23537c..b934bff59fc9f04b1cb29c30b45c065f082a77cd 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateSocials.java
@@ -46,7 +46,7 @@ public class UpdateSocials {
         if(!isLinked){
             throw new ForbiddenErrorException("User not authenticated");
         }
-        save.updateSocials(userSocialDTO);
+        save.updateSocials(userSocialDTO, session);
         return "OK";
     }
 }
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
index 943c7b272c448699f58d0605e084b5258e6f82f4..aa6226c72c411294711d3dc26fa867da1ef60e04 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateStaff.java
@@ -63,7 +63,7 @@ public class UpdateStaff {
             userPermRepo.delete(userPerm);
             return "USER REMOVED";
         }else{
-            linkUser.linkUserShop(usf.getShopId(),userId, 1L);
+            linkUser.linkUserShop(usf.getShopId(),userId, 1L, session);
             return "OK";
         }
     }
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java
index 3b517f939a069bce3e0c169b5bf43e4f81b3ba64..b9d6eca589b69c9635e9df0892ca03b2a8084cef 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java
@@ -70,16 +70,16 @@ public class UpdateUserStampPosition {
             StampBoards stampBoard = shop.getStampBoard();
             if(Objects.equals(direction, "subtract")){
                 if(currentUserStampPos != 0){
-                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -1, currentUserStampPos, (int) stampBoard.getStampBoardId());
+                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -1, currentUserStampPos, (int) stampBoard.getStampBoardId(), session);
                 }
             } else if(Objects.equals(direction, "add")){
                 if(currentUserStampPos != shopStampBoardSize){
-                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), 1, currentUserStampPos, (int) stampBoard.getStampBoardId());
+                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), 1, currentUserStampPos, (int) stampBoard.getStampBoardId(), session);
                     currentUserStampPos = userStampBoardService.getUserStampPos(jwtUtils.getLoggedInUserId(session).get(), (int) shopStampBoardId );
                 }
                 if(currentUserStampPos == 0){
                     System.out.println("Attempting to create record for user");
-                    userStampBoardService.createStampRecord(jwtUtils.getLoggedInUserId(session).get(), 1, (int) shopStampBoardId);
+                    userStampBoardService.createStampRecord(jwtUtils.getLoggedInUserId(session).get(), 1, (int) shopStampBoardId, session);
                 }
             }
         }
@@ -102,7 +102,7 @@ public class UpdateUserStampPosition {
         }
         if(userIsLinkedToStampBoard){
             if(userStampPos >= reward.get().getRewardStampLocation()){
-                userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -reward.get().getRewardStampLocation(), userStampPos, stampBoardId);
+                userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -reward.get().getRewardStampLocation(), userStampPos, stampBoardId, session);
                 //credit to www.programiz.com for code generator
                 String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";//creates a string of all characters
                 StringBuilder sb = new StringBuilder();
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UserSettings.java b/src/main/java/com/example/clientproject/web/restControllers/UserSettings.java
index e611e2e748765775174d4b6a39faa5e554bc9992..a26473fecf099033f4ee5a82d81334166b1f66c7 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/UserSettings.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/UserSettings.java
@@ -48,7 +48,8 @@ public class UserSettings {
             miscQueries.updateUser(
                     userId,
                     "User_First_Name",
-                    nameEmailProfileChangeForm.getNewFirstName()
+                    nameEmailProfileChangeForm.getNewFirstName(),
+                    httpSession
             );
         }
 
@@ -59,7 +60,8 @@ public class UserSettings {
             miscQueries.updateUser(
                     userId,
                     "User_Last_Name",
-                    nameEmailProfileChangeForm.getNewLastName()
+                    nameEmailProfileChangeForm.getNewLastName(),
+                    httpSession
             );
         }
 
@@ -70,7 +72,8 @@ public class UserSettings {
             miscQueries.updateUser(
                     userId,
                     "User_Email",
-                    nameEmailProfileChangeForm.getNewEmail().toLowerCase()
+                    nameEmailProfileChangeForm.getNewEmail().toLowerCase(),
+                    httpSession
             );
         }
 
@@ -81,7 +84,8 @@ public class UserSettings {
             miscQueries.updateUser(
                     userId,
                     "User_Profile_Picture",
-                    nameEmailProfileChangeForm.getNewProfilePic()
+                    nameEmailProfileChangeForm.getNewProfilePic(),
+                    httpSession
             );
         }
 
@@ -130,7 +134,8 @@ public class UserSettings {
                 "User_Password",
                 passwordEncoder.encode(
                         passwordChangeForm.getNewPassword()
-                )
+                ),
+                httpSession
         );
 
         // Return a success message to the settings page
diff --git a/src/main/java/com/example/clientproject/web/restControllers/loginAPI.java b/src/main/java/com/example/clientproject/web/restControllers/loginAPI.java
index 530d6a95fc4261ab7ed1a168406778d32b7001ff..3107abc086e79a82e892df0c7f072d9c4418f204 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/loginAPI.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/loginAPI.java
@@ -1,6 +1,7 @@
 package com.example.clientproject.web.restControllers;
 
 import com.example.clientproject.exceptions.ForbiddenErrorException;
+import com.example.clientproject.service.LoggingService;
 import com.example.clientproject.service.Utils.JWTUtils;
 import com.example.clientproject.service.dtos.UsersDTO;
 import com.example.clientproject.service.searches.UsersSearch;
@@ -20,6 +21,7 @@ import java.util.Optional;
 public class loginAPI {
     private UsersSearch usersSearch;
     private JWTUtils jwtUtils;
+    LoggingService loggingService;
 
     public loginAPI(UsersSearch aUsersSearch, JWTUtils jwt) {
         usersSearch = aUsersSearch;
@@ -51,14 +53,32 @@ public class loginAPI {
                 jwtUtils.makeUserJWT(
                         (int) usersDTOOptional.get().getUserId(),
                         session);
-                // Otherwise, throw an exception with the correct error message
+                // Log the successful login
+                loggingService.logEvent(
+                        "Successful Login",
+                        session,
+                        "Successful login for User with Id: " + usersDTOOptional.get().getUserId()
+                );
             } else {
+                // Log the Failed login
+                loggingService.logEvent(
+                        "Failed Login",
+                        session,
+                        "Failed login for User with Id: " + usersDTOOptional.get().getUserId()
+                );
                 //Changed this as it is a security risk exposing which field is incorrect
                 //throw new ForbiddenErrorException("Password Incorrect");
                 throw new ForbiddenErrorException("Details Incorrect");
+
             }
             // Else - assumes that the email is incorrect
         } else {
+            // Log the Failed login
+            loggingService.logEvent(
+                    "Failed Login",
+                    session,
+                    "Failed login for User with Email: " + loginForm.getLoginEmail()
+            );
             //Changed this as it is a security risk exposing which field is incorrect
             //throw new ForbiddenErrorException("Email Incorrect");
             throw new ForbiddenErrorException("Details Incorrect");
diff --git a/src/main/java/com/example/clientproject/web/restControllers/updateStampboard.java b/src/main/java/com/example/clientproject/web/restControllers/updateStampboard.java
index 8c1bdde7b59262864e3edacf3a017fa82bef78f0..b65577bbafbe6251693afe213c5c5f026c0b463b 100644
--- a/src/main/java/com/example/clientproject/web/restControllers/updateStampboard.java
+++ b/src/main/java/com/example/clientproject/web/restControllers/updateStampboard.java
@@ -56,11 +56,11 @@ public class updateStampboard {
             throw new ForbiddenErrorException("Invalid Colour value");
         }
 
-        stampboardUpdater.updateColour(usf.getShopId(), usf.getColour());
-        stampboardUpdater.updateStampboardSize(usf.getShopId(), usf.getStampboardSize());
-        stampboardUpdater.updateRewards(usf.getShopId(), rewardsMap);
+        stampboardUpdater.updateColour(usf.getShopId(), usf.getColour(), session);
+        stampboardUpdater.updateStampboardSize(usf.getShopId(), usf.getStampboardSize(), session);
+        stampboardUpdater.updateRewards(usf.getShopId(), rewardsMap, session);
         if(usf.getIconFilePath().length() > 0){
-            stampboardUpdater.updateIconURL(usf.getShopId(), usf.getIconFilePath());
+            stampboardUpdater.updateIconURL(usf.getShopId(), usf.getIconFilePath(), session);
         }
         return "OK";
     }
diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql
index 3d7f0735aed3f3845ab1764376e4d115af7d8b35..f573223b291e6dff42214f78ae656f4dd627b4ae 100644
--- a/src/main/resources/database/schema.sql
+++ b/src/main/resources/database/schema.sql
@@ -331,7 +331,7 @@ INSERT INTO Tags (Tag_Name) VALUES ('eco-friendly');
 INSERT INTO Tags (Tag_Name) VALUES ('decorations');
 INSERT INTO Tags (Tag_Name) VALUES ('photography');
 
-INSERT INTO Events (Event_Name) VALUES ('New Account Created');
+INSERT INTO Events (Event_Name) VALUES ('New User');
 INSERT INTO Events (Event_Name) VALUES ('Failed Login');
 INSERT INTO Events (Event_Name) VALUES ('Successful Login');
 INSERT INTO Events (Event_Name) VALUES ('User Details Changed');
@@ -342,4 +342,19 @@ INSERT INTO Events (Event_Name) VALUES ('New Favourite Business');
 INSERT INTO Events (Event_Name) VALUES ('New Shop User');
 INSERT INTO Events (Event_Name) VALUES ('Shop Details Changed');
 INSERT INTO Events (Event_Name) VALUES ('Shop Activity Toggled');
-INSERT INTO Events (Event_Name) VALUES ('Image Inserted');
\ No newline at end of file
+INSERT INTO Events (Event_Name) VALUES ('Image Inserted');
+INSERT INTO Events (Event_Name) VALUES ('New Stamp Board');
+INSERT INTO Events (Event_Name) VALUES ('New Reward');
+INSERT INTO Events (Event_Name) VALUES ('New Tag');
+INSERT INTO Events (Event_Name) VALUES ('New Shop Tag Link');
+INSERT INTO Events (Event_Name) VALUES ('New Social');
+INSERT INTO Events (Event_Name) VALUES ('New User Permission');
+INSERT INTO Events (Event_Name) VALUES ('Stamp Board Updated');
+INSERT INTO Events (Event_Name) VALUES ('Reward Deleted');
+INSERT INTO Events (Event_Name) VALUES ('Shop Updated');
+INSERT INTO Events (Event_Name) VALUES ('UserShopLink Deleted');
+INSERT INTO Events (Event_Name) VALUES ('UserShopLink Inserted');
+INSERT INTO Events (Event_Name) VALUES ('ShopWebsite Updated');
+INSERT INTO Events (Event_Name) VALUES ('UserStampBoard Updated');
+INSERT INTO Events (Event_Name) VALUES ('UserStampBoard Inserted');
+INSERT INTO Events (Event_Name) VALUES ('UserFavouriteTag Inserted');
\ No newline at end of file
diff --git a/src/test/java/com/example/clientproject/data/ShopActivityTests.java b/src/test/java/com/example/clientproject/data/ShopActivityTests.java
index 0bcd3f054ff2799950772ecc7870561c5023785e..32ebb627dc0cfbf1bde6989bcfc89804c2b33d45 100644
--- a/src/test/java/com/example/clientproject/data/ShopActivityTests.java
+++ b/src/test/java/com/example/clientproject/data/ShopActivityTests.java
@@ -37,7 +37,7 @@ public class ShopActivityTests {
     @Test
     public void activeShopsDecreasedBy1AfterMethodCalled(){
         List<Shops> activeShopsListBeforeChange = shopsRepo.findActiveShops();
-        shopActiveService.updateShopActive(6, 0);
+        shopActiveService.updateShopActive(6, 0, null);
         List<Shops> activeShopsListAfterChange = shopsRepo.findActiveShops();
         assertEquals(activeShopsListBeforeChange.size()-1, activeShopsListAfterChange.size());
         //size after change should be equal to size before change minus one
diff --git a/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java b/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java
index 265fe5e281f6586436e679f2fb94a6d27497eec0..8579b7df8c5360c733f968e0b9d3d8d1f0f99581 100644
--- a/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java
+++ b/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java
@@ -31,7 +31,7 @@ public class DeleteShopTests {
     //in future make a jdbc service that will do the exact same thing as the stored procedure
     @Test
     public void shouldDeleteAllShopData() throws Exception{
-        shopDeleter.deleteShop(12);
+        shopDeleter.deleteShop(12, null);
         List<Shops> shopsList = shopsRepo.findAll();
         assertEquals(11, shopsList.size());
     }
diff --git a/src/test/java/com/example/clientproject/web/controllers/SelectCategoriesTests.java b/src/test/java/com/example/clientproject/web/controllers/SelectCategoriesTests.java
index 1f1a5a9c8f9e57ec4d7e36a5a543e27e04653ac0..e8750b067d826f6e981ab3f5e89246326f9bca6f 100644
--- a/src/test/java/com/example/clientproject/web/controllers/SelectCategoriesTests.java
+++ b/src/test/java/com/example/clientproject/web/controllers/SelectCategoriesTests.java
@@ -58,7 +58,7 @@ public class SelectCategoriesTests {
                 "", "",
                 LocalDateTime.now().format(formatter), twoFactorMethods);
         // Save the user
-        miscQueries.saveUser(newUser);
+        miscQueries.saveUser(newUser, null);
         // Get the user as a DTO object
         Optional<Users> usersOptional = usersRepo.findByUserEmail(newUser.getUserEmail());
 
@@ -69,11 +69,11 @@ public class SelectCategoriesTests {
             // Create a new "Tags" object with that name
             Tags newTag = new Tags(tagName);
             // Save a new tag with that name
-            miscQueries.saveTag(newTag);
+            miscQueries.saveTag(newTag, null);
             // Get the newly saved tag
             Optional<Tags> tagsOptional = tagsRepo.findByTagName(tagName);
             // Add a row to the "User_Favourite_Tags" table
-            miscQueries.saveUserFavouriteTags(usersOptional.get(), tagsOptional.get());
+            miscQueries.saveUserFavouriteTags(usersOptional.get(), tagsOptional.get(), null);
         }
 
         // Get the size of the table at the beginning