diff --git a/src/main/java/Team5/SmartTowns/Data/MockUser.java b/src/main/java/Team5/SmartTowns/Data/MockUser.java
new file mode 100644
index 0000000000000000000000000000000000000000..6a6ec7f6a5232c52c63b98d9603329087900de24
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/Data/MockUser.java
@@ -0,0 +1,17 @@
+package Team5.SmartTowns.Data;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+import java.util.List;
+
+public class MockUser {
+
+    private JdbcTemplate jdbc;
+    private RowMapper<trail> trailMapper;
+
+    public List<trail> getAllTrails(){
+        String sql= "SELECT * FROM trails";
+        return jdbc.query(sql, trailMapper);
+    }
+}
diff --git a/src/main/java/Team5/SmartTowns/Data/QRCodes.java b/src/main/java/Team5/SmartTowns/Data/QRCodes.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef350eb418b959e1069ee51d061471448c3b7457
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/Data/QRCodes.java
@@ -0,0 +1,4 @@
+package Team5.SmartTowns.Data;
+
+public class QRCodes {
+}
diff --git a/src/main/java/Team5/SmartTowns/trails/TrailsController.java b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
index 37548995b1168ad0b046f4017690bd16498cc0c0..020eaf18bd39d34b66b2cdde2737506c178dcd9b 100644
--- a/src/main/java/Team5/SmartTowns/trails/TrailsController.java
+++ b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
@@ -45,14 +45,15 @@ public class TrailsController {
     }
 
 
-//    //
-//    @GetMapping("dragonstale/{qrCode}/{id}")
-//    public String qrCodeCheck(@PathVariable Optional<String> qrCode, @PathVariable Optional<Integer> id){
-//        if (qrCode.isPresent() && id.isPresent()){
-//            //Check if ID is present, if do this, if not dfo that.
-//
-//        }
-//    }
+    //
+    @GetMapping("dragonstale/{qrCode}/{id}")
+    public String qrCodeCheck(@PathVariable Optional<String> qrCode, @PathVariable Optional<Integer> id){
+        if (qrCode.isPresent()){
+
+            //Check if ID is present, if do this, if not dfo that.
+
+        }
+    }
 
 }
 
diff --git a/src/main/java/Team5/SmartTowns/users/User.java b/src/main/java/Team5/SmartTowns/users/User.java
index 84887664fbee090abb68281f28b5f2b0832af9ae..e5214802c00783e0e01698dd7a05b8995e1ad93e 100644
--- a/src/main/java/Team5/SmartTowns/users/User.java
+++ b/src/main/java/Team5/SmartTowns/users/User.java
@@ -16,15 +16,16 @@ public class User {
     String name;
     String imgPath;
     int dragonProgress;
-
     Map<Badge, Integer> badgeProgress = new HashMap<>(); // Demonstrates the progress towards a specific badge (0-100)
     Map<Sticker, Boolean> hasStickers = new HashMap<>(); // True if User has sticker (key)
+     Map<Integer, Boolean> dragonstaleLandmarkIDs = new HashMap<>(); // Storing the IDs of the landmarks associated with Dragonstale, as well as if the user has visited it before (boolean)
 
-    public User(int id, String email, String name, int dragonProgress) {
+    public User(int id, String email, String name, int dragonProgress, HashMap<Integer, Boolean> dragonstaleLandmarkIDs) {
         this.id = id;
         this.email = email;
         this.name = name;
         this.dragonProgress = dragonProgress;
+        this.dragonstaleLandmarkIDs = dragonstaleLandmarkIDs;
         imgPath = findImagePath();
     }
 
diff --git a/src/main/java/Team5/SmartTowns/users/UserRepository.java b/src/main/java/Team5/SmartTowns/users/UserRepository.java
index 9f4e828f17c231179df1a9fcd6a87cc5c8cf75b6..bbdb7ecede2cc6174227c3b467063613506490ed 100644
--- a/src/main/java/Team5/SmartTowns/users/UserRepository.java
+++ b/src/main/java/Team5/SmartTowns/users/UserRepository.java
@@ -8,5 +8,6 @@ public interface UserRepository {
     List<User> getAllUsers();
 //    Map<Long, Integer> getBadgeProgress(int id);
     Map<Long, Boolean> getStickers(int id);
+    Map<Integer, Boolean> getTest(int id);
     User getUser(int id);
 }
diff --git a/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java b/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java
index 9b24461d06d300172d904272edf0cc20c51b99f0..9bf388db153b578f297d0fcc32ef0dad27c9d973 100644
--- a/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java
+++ b/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java
@@ -12,22 +12,22 @@ import java.util.Map;
 
 @Repository
 public class UserRepositoryJDBC implements UserRepository{
-
     private JdbcTemplate jdbc;
     private RowMapper<User> userMapper;
+    private
 
     public UserRepositoryJDBC(JdbcTemplate aJdbc){
         this.jdbc = aJdbc;
         setUserMapper();
     }
 
-
     private void setUserMapper(){
         userMapper = (rs, i) -> new User(
                 rs.getInt("userID"),
                 rs.getString("email"),
                 rs.getString("name"),
-                rs.getInt("dragonProgress")
+                rs.getInt("dragonProgress"),
+                rs.getObject("dragonstaleLandmarkIDs", getTest())
         );
     }
 
@@ -37,6 +37,7 @@ public class UserRepositoryJDBC implements UserRepository{
         return jdbc.query(sql, userMapper);
     }
 
+
     @Override
     public User getUser(int id){
         String sql= "SELECT * FROM users WHERE userID="+id;
@@ -55,6 +56,12 @@ public class UserRepositoryJDBC implements UserRepository{
         return progress;
     }
 
+    @Override
+    public Map<Integer, Boolean> getDTCompletion(int id){
+        //Loop over multiple different key-value pairs to find the one that's needed.
+        String sql = "SELECT  "
+    }
+
 
 //    @Override
 //    public Map<Long, Integer> getBadgeProgress(int id){