Index: src/main/java/com/wediscussmovies/project/web/controller/GenreController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/GenreController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
+++ src/main/java/com/wediscussmovies/project/web/controller/GenreController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
@@ -0,0 +1,23 @@
+package com.wediscussmovies.project.web.controller;
+
+import com.wediscussmovies.project.service.GenreService;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+@RequestMapping("/genres")
+public class GenreController {
+    private final GenreService genreService;
+
+    public GenreController(GenreService genreService) {
+        this.genreService = genreService;
+    }
+    @GetMapping
+    public String getGenres(Model model){
+        model.addAttribute("genres",genreService.findAllWithLikes());
+        model.addAttribute("contentTemplate","genres");
+        return "template";
+    }
+}
Index: src/main/java/com/wediscussmovies/project/web/controller/rest/DiscussionRestController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/rest/DiscussionRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
+++ src/main/java/com/wediscussmovies/project/web/controller/rest/DiscussionRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
@@ -0,0 +1,46 @@
+package com.wediscussmovies.project.web.controller.rest;
+
+import com.wediscussmovies.project.service.DiscussionService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("api/discussions")
+public class DiscussionRestController {
+    private final DiscussionService discussionService;
+
+    public DiscussionRestController(DiscussionService discussionService) {
+        this.discussionService = discussionService;
+    }
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity deleteById(@PathVariable Integer id){
+        try {
+            this.discussionService.deleteById(id);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+
+        }
+    }
+    @GetMapping("/like/{discussionId}")
+    public ResponseEntity likeDiscussion(@PathVariable Integer discussionId, @RequestParam Integer userId){
+        try {
+            this.discussionService.likeDiscussion(discussionId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+    @GetMapping("/unlike/{discussionId}")
+    public ResponseEntity unlikeDiscussion(@PathVariable Integer discussionId, @RequestParam Integer userId){
+        try {
+            this.discussionService.unlikeDiscussion(discussionId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+}
Index: src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
+++ src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
@@ -0,0 +1,63 @@
+package com.wediscussmovies.project.web.controller.rest;
+
+import com.wediscussmovies.project.LoggedUser;
+import com.wediscussmovies.project.ajaxmodels.Grade;
+import com.wediscussmovies.project.service.MovieService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api/movies")
+public class MovieRestController {
+
+    private final MovieService movieService;
+
+
+    public MovieRestController(MovieService movieService) {
+        this.movieService = movieService;
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity deleteById(@PathVariable Integer id){
+        try {
+            this.movieService.deleteById(id);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+
+        }
+    }
+    @GetMapping("/like/{movieId}")
+    public ResponseEntity likeMovie(@PathVariable Integer movieId, @RequestParam Integer userId){
+        try {
+            this.movieService.likeMovie(movieId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+    @GetMapping("/unlike/{movieId}")
+    public ResponseEntity unlikeMovie(@PathVariable Integer movieId, @RequestParam Integer userId){
+        try {
+            this.movieService.unlikeMovie(movieId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+    @PostMapping("/grade/{movieId}")
+    public ResponseEntity addGrade(@PathVariable Integer movieId, @RequestBody Grade grade){
+        try {
+            this.movieService.addGradeMovie(movieId, LoggedUser.getLoggedUser(),grade);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+
+    }
+
+}
Index: src/main/java/com/wediscussmovies/project/web/controller/rest/PersonRestController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/rest/PersonRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
+++ src/main/java/com/wediscussmovies/project/web/controller/rest/PersonRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
@@ -0,0 +1,41 @@
+package com.wediscussmovies.project.web.controller.rest;
+
+import com.wediscussmovies.project.LoggedUser;
+import com.wediscussmovies.project.ajaxmodels.Grade;
+import com.wediscussmovies.project.service.PersonService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api/persons")
+public class PersonRestController {
+
+    private final PersonService personService;
+
+    public PersonRestController(PersonService personService) {
+        this.personService = personService;
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity deletePerson(@PathVariable Integer id){
+
+        try {
+            this.personService.deleteById(id);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+    @PostMapping("/grade/{personId}")
+    public ResponseEntity addGrade(@PathVariable Integer personId, @RequestBody Grade grade){
+        try {
+            this.personService.addGradePerson(personId, LoggedUser.getLoggedUser(),grade);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+
+    }
+}
Index: src/main/java/com/wediscussmovies/project/web/controller/rest/ReplyRestController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/rest/ReplyRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
+++ src/main/java/com/wediscussmovies/project/web/controller/rest/ReplyRestController.java	(revision 5b447b0d2e718cbed66c944e78e18dd0a5d8bbe3)
@@ -0,0 +1,51 @@
+package com.wediscussmovies.project.web.controller.rest;
+
+import com.wediscussmovies.project.model.primarykeys.ReplyPK;
+import com.wediscussmovies.project.service.ReplyService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("api/replies")
+public class ReplyRestController {
+
+    private final ReplyService replyService;
+
+    public ReplyRestController(ReplyService replyService) {
+        this.replyService = replyService;
+    }
+
+    @PostMapping("/delete/{discussionId}")
+    public ResponseEntity deleteById(@RequestParam Integer replyId,@PathVariable Integer discussionId){
+        try {
+            this.replyService.delete(discussionId,replyId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+
+        }
+    }
+    @GetMapping("/like/{replyId}")
+    public ResponseEntity likeReply(@PathVariable Integer replyId,
+                                    @RequestParam Integer userId){
+        try {
+            this.replyService.likeReply(replyId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+    @GetMapping("/unlike/{replyId}")
+    public ResponseEntity unlikeReply(@PathVariable Integer replyId,
+                                 @RequestParam Integer userId){
+        try {
+            this.replyService.unlikeReply(replyId,userId);
+            return ResponseEntity.ok(true);
+        }
+        catch (RuntimeException exception){
+            return ResponseEntity.ok(false);
+        }
+    }
+}
