Index: phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/AuthContextController.java
===================================================================
--- phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/AuthContextController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
+++ phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/AuthContextController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
@@ -0,0 +1,20 @@
+package finki.it.phoneluxbackend.controllers;
+
+import finki.it.phoneluxbackend.entities.User;
+import finki.it.phoneluxbackend.services.UserService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@AllArgsConstructor
+public class AuthContextController {
+    private final UserService userService;
+
+    // return name, role, email
+    @GetMapping(path = "/token/{token}")
+    public User getUserFromToken(@PathVariable("token") String token){
+        return userService.getUserFromToken(token);
+    }
+}
Index: phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneController.java
===================================================================
--- phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneController.java	(revision e5b84dc652434cab61718f38889fc36867569866)
+++ phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
@@ -18,7 +18,5 @@
 public class PhoneController {
     private final PhoneService phoneService;
-    private final PhoneOfferService phoneOfferService;
 
-//     handle request parameters for filtering phones
     @GetMapping(path = "/phones")
     public List<Phone> getPhones(@RequestParam(name = "shops", required = false) String shops,
@@ -42,21 +40,3 @@
     }
 
-    @GetMapping(path = "/shops")
-    public List<String> getShops(){
-        return phoneOfferService.getShops();
-    }
-
-    @GetMapping(path = "/lowestPrice")
-    public int getLowestPrice()
-    {
-        return phoneOfferService.getLowestPrice();
-    }
-
-    @GetMapping(path = "/highestPrice")
-    public int getHighestPrice()
-    {
-        return phoneOfferService.getHighestPrice();
-    }
-
-
 }
Index: phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneOfferController.java
===================================================================
--- phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneOfferController.java	(revision e5b84dc652434cab61718f38889fc36867569866)
+++ phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/PhoneOfferController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
@@ -18,5 +18,4 @@
 public class PhoneOfferController {
     private final PhoneOfferService phoneOfferService;
-    private final PhoneService phoneService;
 
     @GetMapping(path = "/phones/offers/{phoneId}")
@@ -30,3 +29,25 @@
     }
 
+    @GetMapping(path = "/phoneoffer/{offerId}/cheaperoffers")
+    public List<PhoneOffer> getCheaperOffers(@PathVariable("offerId") Long offerId){
+        return phoneOfferService.getCheaperOffers(offerId);
+    }
+
+    @GetMapping(path = "/shops")
+    public List<String> getShops(){
+        return phoneOfferService.getShops();
+    }
+
+    @GetMapping(path = "/lowestPrice")
+    public int getLowestPrice()
+    {
+        return phoneOfferService.getLowestPrice();
+    }
+
+    @GetMapping(path = "/highestPrice")
+    public int getHighestPrice()
+    {
+        return phoneOfferService.getHighestPrice();
+    }
+
 }
Index: phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/SuperAdminController.java
===================================================================
--- phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/SuperAdminController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
+++ phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/SuperAdminController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
@@ -0,0 +1,35 @@
+package finki.it.phoneluxbackend.controllers;
+
+import finki.it.phoneluxbackend.entities.PhoneOffer;
+import finki.it.phoneluxbackend.entities.User;
+import finki.it.phoneluxbackend.services.UserService;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@RestController
+@RequestMapping(path = "/management")
+@AllArgsConstructor
+public class SuperAdminController {
+    private final UserService userService;
+
+    @GetMapping(path = "/users")
+    public List<User> getUsers(@RequestParam(name = "searchValue", required = false) String searchValue){
+        return userService.getUsers(searchValue);
+    }
+
+    @PutMapping(path = "/addadmin/{userId}")
+    public ResponseEntity<Object> giveAdminRoleToUser(@PathVariable("userId") Long userId){
+        return userService.giveAdminRoleToUser(userId);
+    }
+
+    @PutMapping(path = "/removeadmin/{userId}")
+    public ResponseEntity<Object> removeAdminRoleFromUser(@PathVariable("userId") Long userId){
+        return userService.removeAdminRoleFromUser(userId);
+    }
+
+}
Index: phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/UserController.java
===================================================================
--- phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/UserController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
+++ phonelux-backend/src/main/java/finki/it/phoneluxbackend/controllers/UserController.java	(revision 775e15e60ae9ae29421f2ec15ebde7525163294d)
@@ -0,0 +1,35 @@
+package finki.it.phoneluxbackend.controllers;
+import finki.it.phoneluxbackend.entities.PhoneOffer;
+import finki.it.phoneluxbackend.entities.User;
+import finki.it.phoneluxbackend.services.PhoneOfferService;
+import finki.it.phoneluxbackend.services.UserService;
+import lombok.AllArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping(path = "/user")
+@AllArgsConstructor
+public class UserController {
+    private final UserService userService;
+
+    @GetMapping(path = "/{userId}/favouriteoffers")
+    public List<PhoneOffer> getFavouriteOffersForUser(@PathVariable("userId") Long userId){
+        return userService.getFavouriteOffersForUser(userId);
+    }
+
+    @PutMapping(path = "/{userId}/addoffer/{offerId}")
+    public ResponseEntity<Object> addOfferForUser(@PathVariable("userId") Long userId,
+                                              @PathVariable("offerId") Long offerId){
+        return userService.editOfferForUser(userId,offerId, "add");
+    }
+
+    @PutMapping(path = "/{userId}/removeoffer/{offerId}")
+    public ResponseEntity<Object> removeOfferForUser(@PathVariable("userId") Long userId,
+                                                  @PathVariable("offerId") Long offerId){
+        return userService.editOfferForUser(userId,offerId, "remove");
+    }
+
+}
