From b0250707f1c82e3bc78a7296c3ce1db7e60a7548 Mon Sep 17 00:00:00 2001 From: Gabriel Copat <copatg@cardiff.ac.uk> Date: Thu, 30 Nov 2023 21:53:49 +0000 Subject: [PATCH] New Controller for Users and Rewards Added UserProfile HTML skeleton Added Constructor for User Class --- .../SmartTowns/rewards/RewardsController.java | 7 +++++ .../java/Team5/SmartTowns/users/User.java | 11 ++++++-- .../SmartTowns/users/UserController.java | 26 +++++++++++++++++++ .../templates/rewards/userProfile.html | 10 +++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Team5/SmartTowns/rewards/RewardsController.java create mode 100644 src/main/java/Team5/SmartTowns/users/UserController.java create mode 100644 src/main/resources/templates/rewards/userProfile.html 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 00000000..af9d33cb --- /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 d93b4f8e..02611fe0 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 00000000..602fe65d --- /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 00000000..c1eb176b --- /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 -- GitLab