diff --git a/src/main/java/Team5/SmartTowns/rewards/RewardsController.java b/src/main/java/Team5/SmartTowns/rewards/RewardsController.java
new file mode 100644
index 0000000000000000000000000000000000000000..af9d33cba34dd12ac6aa5ca1e54320b8124af9d4
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/rewards/RewardsController.java
@@ -0,0 +1,7 @@
+package Team5.SmartTowns.rewards;
+
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class RewardsController {
+}
diff --git a/src/main/java/Team5/SmartTowns/users/User.java b/src/main/java/Team5/SmartTowns/users/User.java
index d93b4f8e6195dd5af000ad21cd901d7a87bc6a3e..02611fe0eae9a67a33c893fafa2146170504a2e0 100644
--- a/src/main/java/Team5/SmartTowns/users/User.java
+++ b/src/main/java/Team5/SmartTowns/users/User.java
@@ -2,17 +2,24 @@ package Team5.SmartTowns.users;
 
 import Team5.SmartTowns.rewards.Badge;
 import Team5.SmartTowns.rewards.Sticker;
+import lombok.Data;
 
 import java.util.HashMap;
 import java.util.Map;
 
+@Data
 public class User {
 
+    int id;
     String email; //Validation would be done by email, since they will have that
-
+    String name;
 
     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)
 
-
+    public User(int id, String email, String name) {
+        this.id = id;
+        this.email = email;
+        this.name = name;
+    }
 }
diff --git a/src/main/java/Team5/SmartTowns/users/UserController.java b/src/main/java/Team5/SmartTowns/users/UserController.java
new file mode 100644
index 0000000000000000000000000000000000000000..602fe65d32eb9f612328ee6ed1344c5e97f53d0c
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/users/UserController.java
@@ -0,0 +1,26 @@
+package Team5.SmartTowns.users;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.util.List;
+
+@Controller
+public class UserController {
+
+    /* TEMPORARY USER LIST --- TODO REPLACE IT WITH DATABASE LIST*/
+    List<User> users = List.of(
+            new User(1, "johndoe@gmail.com", "Chris Redfield"),
+            new User(2, "johndoe@gmail.com", "Claire Redfield"),
+            new User(3, "johndoe@gmail.com", "Leon Kennedy"),
+            new User(4, "johndoe@gmail.com", "Jill Valentine")
+    );
+
+    @GetMapping("/allTrails")
+    public ModelAndView getUserPage(){
+        ModelAndView mav = new ModelAndView("rewards/userProfile");
+        mav.addObject("trails", users); //Mock data for trails
+        return mav;
+    }
+}
diff --git a/src/main/resources/templates/rewards/userProfile.html b/src/main/resources/templates/rewards/userProfile.html
new file mode 100644
index 0000000000000000000000000000000000000000..c1eb176bf6453417b546503653e4bd3ee6174350
--- /dev/null
+++ b/src/main/resources/templates/rewards/userProfile.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title th:text="${user.getName()}"></title>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file