diff --git a/src/main/java/com/example/clientproject/data/adminTypes/AdminTypes.java b/src/main/java/com/example/clientproject/data/adminTypes/AdminTypes.java
index d9624ebcc9a8c5fcac1d68abd8eb12be5124c9ba..f1b61e85d0dd953c872ff9a73219f4ba489ae462 100644
--- a/src/main/java/com/example/clientproject/data/adminTypes/AdminTypes.java
+++ b/src/main/java/com/example/clientproject/data/adminTypes/AdminTypes.java
@@ -9,6 +9,10 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 
+/**
+ * AdminTypes Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/adminTypes/AdminTypesRepo.java b/src/main/java/com/example/clientproject/data/adminTypes/AdminTypesRepo.java
index b80220890ca1e6aa71aad138f7f0d41b1bb4fd2a..7a0f6b9756ced17bc30cade4cdfaab3320928d35 100644
--- a/src/main/java/com/example/clientproject/data/adminTypes/AdminTypesRepo.java
+++ b/src/main/java/com/example/clientproject/data/adminTypes/AdminTypesRepo.java
@@ -7,9 +7,22 @@ import org.springframework.data.jpa.repository.Query;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * JPA Repository for the "AdminTypes" Entity
+ * Extends the JpaRepository library with the types of "AdminTypes" and "Long"
+ */
 public interface AdminTypesRepo extends JpaRepository<AdminTypes, Long> {
+    /**
+     * FindAll method
+     * @return list of AdminTypes found
+     */
     List<AdminTypes> findAll();
 
+    /**
+     * Find an AdminType by the Id
+     * @param adminTypeId - id of the AdminType to find
+     * @return - Optional object containing the AdminType found, if it's present
+     */
     @Query("select a from AdminTypes a where a.adminTypeId = ?1")
     Optional<AdminTypes> findByAdminTypeId(long adminTypeId);
 }
diff --git a/src/main/java/com/example/clientproject/data/converters/TinyIntToBoolean.java b/src/main/java/com/example/clientproject/data/converters/TinyIntToBoolean.java
index e89065151246ad5699a05d56a0b983325e53c4e1..ef9bcf81905dba819fbee86fc0116fd05bdcade0 100644
--- a/src/main/java/com/example/clientproject/data/converters/TinyIntToBoolean.java
+++ b/src/main/java/com/example/clientproject/data/converters/TinyIntToBoolean.java
@@ -2,7 +2,16 @@ package com.example.clientproject.data.converters;
 
 import javax.persistence.AttributeConverter;
 
+/**
+ * Converter for TinyInt to Boolean values
+ * Implements the "AttributeConverter" Interface with types "Boolean" and "Integer"
+ */
 public class TinyIntToBoolean implements AttributeConverter<Boolean, Integer> {
+    /**
+     * Overrides a method to convert from boolean to int
+     * @param attribute - the value to convert
+     * @return the converted value
+     */
     @Override
     public Integer convertToDatabaseColumn(Boolean attribute) {
         if (attribute) {
@@ -12,6 +21,11 @@ public class TinyIntToBoolean implements AttributeConverter<Boolean, Integer> {
         }
     }
 
+    /**
+     * Overrides a method to convert from int to boolean
+     * @param dbData - the value to convert
+     * @return the converted value
+     */
     @Override
     public Boolean convertToEntityAttribute(Integer dbData) {
         return dbData != 0;
diff --git a/src/main/java/com/example/clientproject/data/rewards/Rewards.java b/src/main/java/com/example/clientproject/data/rewards/Rewards.java
index b17309bb331085802cfd0cd42418fba186a89b42..07f058052eb88a0b9d967455158f2ed67a1a269a 100644
--- a/src/main/java/com/example/clientproject/data/rewards/Rewards.java
+++ b/src/main/java/com/example/clientproject/data/rewards/Rewards.java
@@ -9,6 +9,10 @@ import lombok.NoArgsConstructor;
 import javax.persistence.*;
 import java.util.List;
 
+/**
+ * Rewards Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java b/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
index de5385b615a8c83794921c8c595929e42025a36d..8baac8c6d8472b2846b6989af8735d3339b82aa7 100644
--- a/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
+++ b/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
@@ -7,11 +7,29 @@ import org.springframework.data.jpa.repository.Query;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * JPA Repository for the "Rewards" Entity
+ * Extends the JpaRepository library with the types of "Rewards" and "Long"
+ */
 public interface RewardsRepo extends JpaRepository<StampBoards, Long> {
+    /**
+     * FindAll method
+     * @return list of StampBoards found
+     */
     List<StampBoards> findAll();
 
+    /**
+     * Save method
+     * @param rewards - the new object to save
+     * @return - the object
+     */
     Rewards save(Rewards rewards);
 
+    /**
+     * Find a Reward by the name
+     * @param rewardName - name of the Reward to find
+     * @return - Optional object containing the Reward found, if it's present
+     */
     @Query("select r from Rewards r where r.rewardId = ?1")
     Optional<Rewards> findByRewardName(String rewardName);
 }
diff --git a/src/main/java/com/example/clientproject/data/shops/Shops.java b/src/main/java/com/example/clientproject/data/shops/Shops.java
index bffa9699b56841ca97e407f10f11705c47f85ccb..a51d201353334c410092f5f4a54cb0d0cdc6f77f 100644
--- a/src/main/java/com/example/clientproject/data/shops/Shops.java
+++ b/src/main/java/com/example/clientproject/data/shops/Shops.java
@@ -11,6 +11,10 @@ import lombok.NoArgsConstructor;
 import javax.persistence.*;
 import java.util.List;
 
+/**
+ * Shops Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
@@ -28,6 +32,15 @@ public class Shops {
     @Convert(converter = TinyIntToBoolean.class)
     private boolean shopActive;
 
+    /**
+     * Constructor which does not require an ID
+     * @param name - name of the shop
+     * @param website - shop website
+     * @param earnings - shop earnings
+     * @param image - shop image
+     * @param countries - shop countries
+     * @param active - shop active status
+     */
     public Shops(String name, String website, int earnings,
                  String image, String countries, boolean active) {
         this.shopName = name;
diff --git a/src/main/java/com/example/clientproject/data/shops/ShopsRepo.java b/src/main/java/com/example/clientproject/data/shops/ShopsRepo.java
index c477d4cea8feb74b74fa3834f86e1713f35a83a5..2ee0113e97cf979609ad108fbcee80ce56ae1b05 100644
--- a/src/main/java/com/example/clientproject/data/shops/ShopsRepo.java
+++ b/src/main/java/com/example/clientproject/data/shops/ShopsRepo.java
@@ -6,26 +6,64 @@ import org.springframework.data.jpa.repository.Query;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * JPA Repository for the "Shops" Entity
+ * Extends the JpaRepository library with the types of "Shops" and "Long"
+ */
 public interface ShopsRepo extends JpaRepository<Shops, Long> {
+    /**
+     * FindAll method
+     * @return list of Shops found
+     */
     List<Shops> findAll();
 
+    /**
+     * Save method
+     * @param shops - the object to save
+     * @return - the object
+     */
     Shops save(Shops shops);
 
+    /**
+     * Search by the name of the shop
+     * @param shopName - the name to search by
+     * @return - an option containing the object if one is found
+     */
     @Query("select s from Shops s where s.shopName = ?1")
     Optional<Shops> findByShopName(String shopName);
 
+    /**
+     * Search for shops using a free license
+     * @return - a list of the objects found
+     */
     @Query("select s from Shops s where s.shopEarnings > 0 and s.shopEarnings < 10000")
     List<Shops> findByFreeLicense();
 
+    /**
+     * Search for shops using a standard license
+     * @return - a list of the objects found
+     */
     @Query("select s from Shops s where s.shopEarnings > 10000 and s.shopEarnings < 40000")
     List<Shops> findByStandardLicense();
 
+    /**
+     * Search for shops using a premium license
+     * @return - a list of the objects found
+     */
     @Query("select s from Shops s where s.shopEarnings > 40000")
     List<Shops> findByPremiumLicense();
 
+    /**
+     * Search for active shops
+     * @return - a list containing the shops found
+     */
     @Query("select s from Shops s where s.shopActive = true")
     List<Shops> findActiveShops();
 
+    /**
+     * Search for inactive shops
+     * @return - a list containing the objects found
+     */
     @Query("select s from Shops s where s.shopActive = false")
     List<Shops> findInactiveShops();
 }
diff --git a/src/main/java/com/example/clientproject/data/stampBoards/StampBoards.java b/src/main/java/com/example/clientproject/data/stampBoards/StampBoards.java
index 61b996aa485233f1200f81874b9d75877e697c44..ddac39ef6bd281d7b8c9b3ad236cf718f5de566c 100644
--- a/src/main/java/com/example/clientproject/data/stampBoards/StampBoards.java
+++ b/src/main/java/com/example/clientproject/data/stampBoards/StampBoards.java
@@ -8,6 +8,10 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 
+/**
+ * StampBoards Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/stampBoards/StampBoardsRepo.java b/src/main/java/com/example/clientproject/data/stampBoards/StampBoardsRepo.java
index 4e3f9451bb279ae2bc4bdbe32a892dc13f87fca7..d1b02978a455233eaba6b0e96a4a969a8d078e8f 100644
--- a/src/main/java/com/example/clientproject/data/stampBoards/StampBoardsRepo.java
+++ b/src/main/java/com/example/clientproject/data/stampBoards/StampBoardsRepo.java
@@ -4,8 +4,21 @@ import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
 
+/**
+ * JPA Repository for the "StampBoards" Entity
+ * Extends the JpaRepository library with the types of "StampBoards" and "Long"
+ */
 public interface StampBoardsRepo extends JpaRepository<StampBoards, Long> {
+    /**
+     * FindAll method
+     * @return list of StampBoards found
+     */
     List<StampBoards> findAll();
 
+    /**
+     * Save Method
+     * @param stampBoards - the StampBoard to save
+     * @return - the object
+     */
     StampBoards save(StampBoards stampBoards);
 }
diff --git a/src/main/java/com/example/clientproject/data/tags/Tags.java b/src/main/java/com/example/clientproject/data/tags/Tags.java
index ab3e500d72d8d04e0d92b46c77c8f1c222255ce4..72e5193e79d9b3e542644bbf1b55ca7516e73a64 100644
--- a/src/main/java/com/example/clientproject/data/tags/Tags.java
+++ b/src/main/java/com/example/clientproject/data/tags/Tags.java
@@ -9,6 +9,10 @@ import lombok.NoArgsConstructor;
 import javax.persistence.*;
 import java.util.List;
 
+/**
+ * Tags Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/tags/TagsRepo.java b/src/main/java/com/example/clientproject/data/tags/TagsRepo.java
index efda7a02ca577a06bba28d457e62c04bc4e6a0e3..0429026bbf9a63a5f9ed13cc4064a56961de4a35 100644
--- a/src/main/java/com/example/clientproject/data/tags/TagsRepo.java
+++ b/src/main/java/com/example/clientproject/data/tags/TagsRepo.java
@@ -4,8 +4,21 @@ import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
 
+/**
+ * JPA Repository for the "Tags" Entity
+ * Extends the JpaRepository library with the types of "Tags" and "Long"
+ */
 public interface TagsRepo extends JpaRepository<Tags, Long> {
+    /**
+     * FindAll method
+     * @return list of Tags found
+     */
     List<Tags> findAll();
 
+    /**
+     * Save method
+     * @param tags - the object to save
+     * @return - the object
+     */
     Tags save(Tags tags);
 }
diff --git a/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethods.java b/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethods.java
index a14b3c1ed518085d34054ede30576a093175737c..5f1cf2b34892352c9e2ef36e20ca7649cf6b6f49 100644
--- a/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethods.java
+++ b/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethods.java
@@ -7,6 +7,10 @@ import lombok.NoArgsConstructor;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 
+/**
+ * TwoFactorMethods Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethodsRepo.java b/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethodsRepo.java
index be4c453fda3c6975db3bfe8abc2ec9bf8b9a1d5e..89b563fb3ed56eb6bb98df917e66e0180a5bef6f 100644
--- a/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethodsRepo.java
+++ b/src/main/java/com/example/clientproject/data/twoFactorMethods/TwoFactorMethodsRepo.java
@@ -6,9 +6,22 @@ import org.springframework.data.jpa.repository.Query;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * JPA Repository for the "TwoFactorMethods" Entity
+ * Extends the JpaRepository library with the types of "TwoFactorMethods" and "Long"
+ */
 public interface TwoFactorMethodsRepo extends JpaRepository<TwoFactorMethods, Long> {
+    /**
+     * FindAll method
+     * @return list of TwoFactorMethods found
+     */
     List<TwoFactorMethods> findAll();
 
+    /**
+     * Search by the id of the two factor method
+     * @param twoFactorMethodId - the id to search by
+     * @return - an option containing the object if one is found
+     */
     @Query("select t from TwoFactorMethods t where t.twoFactorMethodId = ?1")
     Optional<TwoFactorMethods> findByTwoFactorMethodId(long twoFactorMethodId);
 }
diff --git a/src/main/java/com/example/clientproject/data/userPermissions/UserPermissions.java b/src/main/java/com/example/clientproject/data/userPermissions/UserPermissions.java
index 238b818ca201ade7aec69dbc9e0f0af6e3d95bb4..00d5c5c8e47c26b56b4151a4167022312bea130e 100644
--- a/src/main/java/com/example/clientproject/data/userPermissions/UserPermissions.java
+++ b/src/main/java/com/example/clientproject/data/userPermissions/UserPermissions.java
@@ -9,6 +9,10 @@ import lombok.NoArgsConstructor;
 
 import javax.persistence.*;
 
+/**
+ * UserPermissions Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/userPermissions/UserPermissionsRepo.java b/src/main/java/com/example/clientproject/data/userPermissions/UserPermissionsRepo.java
index 4fe609886bc2e27523c8296f95777f79d03d4886..cda5137f066b23fe7100b47575487b87d331303c 100644
--- a/src/main/java/com/example/clientproject/data/userPermissions/UserPermissionsRepo.java
+++ b/src/main/java/com/example/clientproject/data/userPermissions/UserPermissionsRepo.java
@@ -5,17 +5,45 @@ import org.springframework.data.jpa.repository.Query;
 
 import java.util.List;
 
+/**
+ * JPA Repository for the "UserPermissions" Entity
+ * Extends the JpaRepository library with the types of "UserPermissions" and "Long"
+ */
 public interface UserPermissionsRepo extends JpaRepository<UserPermissions, Long> {
+    /**
+     * FindAll method
+     * @return list of UserPermissions found
+     */
     List<UserPermissions> findAll();
 
+    /**
+     * Save method
+     * @param userPermissions - the object to save
+     * @return - the object
+     */
     UserPermissions save(UserPermissions userPermissions);
 
+    /**
+     * Search by the userId of the userPermission
+     * @param userId - the id to search by
+     * @return - an option containing the object if one is found
+     */
     @Query("select u from UserPermissions u where u.user.userId = ?1")
     List<UserPermissions> findByUserId(long userId);
 
+    /**
+     * Search by the shopId of the userPermission
+     * @param shopId - the name to search by
+     * @return - an option containing the object if one is found
+     */
     @Query("select u from UserPermissions u where u.shop.shopId = ?1")
     List<UserPermissions> findByShopID(long shopId);
 
+    /**
+     * Search by the adminTypeId of the UserPermission
+     * @param adminTypeId - the id to search by
+     * @return - an option containing the object if one is found
+     */
     @Query("select u from UserPermissions u where u.adminType.adminTypeId = ?1")
     List<UserPermissions> findByAdminTypeId(long adminTypeId);
 }
diff --git a/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoards.java b/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoards.java
index 3dfe67c621ba0ea004f216061d84984df7248e93..48430e742959bb2ebae898fef32d028d51e95b37 100644
--- a/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoards.java
+++ b/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoards.java
@@ -7,6 +7,10 @@ import lombok.NoArgsConstructor;
 
 import javax.persistence.*;
 
+/**
+ * UserStampBoards Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoardsRepo.java b/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoardsRepo.java
index c8d5462a259d91c0eba2621ad6ca10f92b654284..7ad480e9b6b2f70b3b16bc46bacb87c30073dfbf 100644
--- a/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoardsRepo.java
+++ b/src/main/java/com/example/clientproject/data/userStampBoards/UserStampBoardsRepo.java
@@ -4,8 +4,21 @@ import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
 
+/**
+ * JPA Repository for the "UserStampBoards" Entity
+ * Extends the JpaRepository library with the types of "UserStampBoards" and "Long"
+ */
 public interface UserStampBoardsRepo extends JpaRepository<UserStampBoards, Long> {
+    /**
+     * FindAll method
+     * @return list of UserStampBoards found
+     */
     List<UserStampBoards> findAll();
 
+    /**
+     * Save method
+     * @param userStampBoards - the object to save
+     * @return - the object
+     */
     UserStampBoards save(UserStampBoards userStampBoards);
 }
diff --git a/src/main/java/com/example/clientproject/data/users/Users.java b/src/main/java/com/example/clientproject/data/users/Users.java
index cf2d0e1ba17c0faae5c38b8570cab7b30a51e430..7a3a5fe9cd68af05b51dfcb9f5d01cc52fdc1b60 100644
--- a/src/main/java/com/example/clientproject/data/users/Users.java
+++ b/src/main/java/com/example/clientproject/data/users/Users.java
@@ -9,10 +9,13 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import javax.persistence.*;
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Set;
 
+/**
+ * Users Entity
+ * Contains Getters, Setters, and constructors thanks to Lombok
+ */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
@@ -29,6 +32,17 @@ public class Users {
     private String userResetCode;
     private String userResetCodeExpiry;
 
+    /**
+     * Constructor
+     * @param firstName - user first name
+     * @param surname - user surname
+     * @param email - user email
+     * @param password - user password
+     * @param profilePicture - user profile picture
+     * @param resetCode - user password reset code
+     * @param expiry - user password reset code expiry date time
+     * @param aTwoFactorMethod - user two-factor authentication method
+     */
     public Users(String firstName, String surname, String email,
                  String password, String profilePicture, String resetCode,
                  String expiry, TwoFactorMethods aTwoFactorMethod) {
diff --git a/src/main/java/com/example/clientproject/data/users/UsersRepo.java b/src/main/java/com/example/clientproject/data/users/UsersRepo.java
index 3e1c46d5c2f0bcd0fcbfcc15cd95dea5c028e190..45ceb2903e371c5a392dd39bcd6d1a13604f4207 100644
--- a/src/main/java/com/example/clientproject/data/users/UsersRepo.java
+++ b/src/main/java/com/example/clientproject/data/users/UsersRepo.java
@@ -5,10 +5,28 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import java.util.List;
 import java.util.Optional;
 
+/**
+ * JPA Repository for the "Users" Entity
+ * Extends the JpaRepository library with the types of "Users" and "Long"
+ */
 public interface UsersRepo extends JpaRepository<Users, Long> {
+    /**
+     * FindAll method
+     * @return list of Users found
+     */
     List<Users> findAll();
 
+    /**
+     * Method for finding a user by the email
+     * @param email - the email to search by
+     * @return - an optional containing the user if one is found
+     */
     Optional<Users> findByUserEmail(String email);
 
+    /**
+     * Save method
+     * @param user - the object to save
+     * @return - the object
+     */
     Users save(Users user);
 }