Index: src/main/java/it/finki/tinki/web/controller/AccountRegisterController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/AccountRegisterController.java	(revision 297bd16e19a43adf781d79489486d95db5de4237)
+++ src/main/java/it/finki/tinki/web/controller/AccountRegisterController.java	(revision 297bd16e19a43adf781d79489486d95db5de4237)
@@ -0,0 +1,86 @@
+package it.finki.tinki.web.controller;
+
+import it.finki.tinki.model.Skill;
+import it.finki.tinki.model.Users.Account;
+import it.finki.tinki.model.dto.register.account.CompanyRegisterDTO;
+import it.finki.tinki.model.dto.register.account.TeamRegisterDTO;
+import it.finki.tinki.model.dto.register.account.UserRegisterDTO;
+import it.finki.tinki.service.AccountService;
+import it.finki.tinki.service.MatchmakerService;
+import it.finki.tinki.service.SkillService;
+import it.finki.tinki.service.WorkService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@CrossOrigin(origins = "http://localhost:3000")
+@RequestMapping("/api/register")
+public class AccountRegisterController {
+
+    AccountService accountService;
+    SkillService skillService;
+    WorkService workService;
+    MatchmakerService matchmakerService;
+
+    public AccountRegisterController(AccountService accountService, SkillService skillService, WorkService workService, MatchmakerService matchmakerService) {
+        this.accountService = accountService;
+        this.skillService = skillService;
+        this.workService = workService;
+        this.matchmakerService = matchmakerService;
+    }
+
+    @RequestMapping(path = "/user", method = RequestMethod.POST)
+    private Map<String, String> registerUser(@RequestBody UserRegisterDTO body){
+
+        List<Skill> retained = this.skillService.returnSkillsBasedOnId(body.getRetainedSkills());
+        List<Skill> toLearn = this.skillService.returnSkillsBasedOnId(body.getSkillsToLearn());
+
+        Account k = this.accountService.registerUser(body.getEmail(), body.getPassword(), body.getName(), body.getSurname(), retained, toLearn);
+
+        Map<String, String> response = new HashMap<>();
+
+        if(k==null){
+            response.put("error", "There was an error when trying to register user.");
+        }else{
+            response.put("success", "Registration completed successfully.");
+        }
+
+        return response;
+    }
+
+    @RequestMapping(path = "/team", method = RequestMethod.POST)
+    private Map<String, String> registerTeam(@RequestBody TeamRegisterDTO body){
+
+        Account k = this.accountService.registerTeam(body.getEmail(), body.getPassword(), body.getName(), body.getMembers());
+
+        Map<String, String> response = new HashMap<>();
+
+        if(k==null){
+            response.put("error", "There was an error when trying to register team.");
+        }else{
+            response.put("success", "Registration completed successfully.");
+        }
+
+        return response;
+    }
+
+    @RequestMapping(path = "/company", method = RequestMethod.POST)
+    private Map<String, String> registerCompany(@RequestBody CompanyRegisterDTO body){
+
+        Account k = this.accountService.registerCompany(body.getEmail(),
+                body.getPassword(), body.getName(), body.getCountry(), body.getCity(), body.getStreet());
+
+        Map<String, String> response = new HashMap<>();
+
+        if(k==null){
+            response.put("error", "There was an error when trying to register company.");
+        }else{
+            response.put("success", "Registration completed successfully.");
+        }
+
+        return response;
+    }
+}
Index: src/main/java/it/finki/tinki/web/controller/RegisterController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/RegisterController.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ 	(revision )
@@ -1,86 +1,0 @@
-package it.finki.tinki.web.controller;
-
-import it.finki.tinki.model.Skill;
-import it.finki.tinki.model.Users.Account;
-import it.finki.tinki.model.dto.register.account.CompanyRegisterDTO;
-import it.finki.tinki.model.dto.register.account.TeamRegisterDTO;
-import it.finki.tinki.model.dto.register.account.UserRegisterDTO;
-import it.finki.tinki.service.AccountService;
-import it.finki.tinki.service.MatchmakerService;
-import it.finki.tinki.service.SkillService;
-import it.finki.tinki.service.WorkService;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@RestController
-@CrossOrigin(origins = "http://localhost:3000")
-@RequestMapping("/api/register")
-public class RegisterController {
-
-    AccountService accountService;
-    SkillService skillService;
-    WorkService workService;
-    MatchmakerService matchmakerService;
-
-    public RegisterController(AccountService accountService, SkillService skillService, WorkService workService, MatchmakerService matchmakerService) {
-        this.accountService = accountService;
-        this.skillService = skillService;
-        this.workService = workService;
-        this.matchmakerService = matchmakerService;
-    }
-
-    @RequestMapping(path = "/user", method = RequestMethod.POST)
-    private Map<String, String> registerUser(@RequestBody UserRegisterDTO body){
-
-        List<Skill> retained = this.skillService.returnSkillsBasedOnId(body.getRetainedSkills());
-        List<Skill> toLearn = this.skillService.returnSkillsBasedOnId(body.getSkillsToLearn());
-
-        Account k = this.accountService.registerUser(body.getEmail(), body.getPassword(), body.getName(), body.getSurname(), retained, toLearn);
-
-        Map<String, String> response = new HashMap<>();
-
-        if(k==null){
-            response.put("error", "There was an error when trying to register user.");
-        }else{
-            response.put("success", "Registration completed successfully.");
-        }
-
-        return response;
-    }
-
-    @RequestMapping(path = "/team", method = RequestMethod.POST)
-    private Map<String, String> registerTeam(@RequestBody TeamRegisterDTO body){
-
-        Account k = this.accountService.registerTeam(body.getEmail(), body.getPassword(), body.getName(), body.getMembers());
-
-        Map<String, String> response = new HashMap<>();
-
-        if(k==null){
-            response.put("error", "There was an error when trying to register team.");
-        }else{
-            response.put("success", "Registration completed successfully.");
-        }
-
-        return response;
-    }
-
-    @RequestMapping(path = "/company", method = RequestMethod.POST)
-    private Map<String, String> registerCompany(@RequestBody CompanyRegisterDTO body){
-
-        Account k = this.accountService.registerCompany(body.getEmail(),
-                body.getPassword(), body.getName(), body.getCountry(), body.getCity(), body.getStreet());
-
-        Map<String, String> response = new HashMap<>();
-
-        if(k==null){
-            response.put("error", "There was an error when trying to register company.");
-        }else{
-            response.put("success", "Registration completed successfully.");
-        }
-
-        return response;
-    }
-}
Index: src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/web/controller/WorkRegisterController.java	(revision 297bd16e19a43adf781d79489486d95db5de4237)
@@ -1,5 +1,14 @@
 package it.finki.tinki.web.controller;
 
+import it.finki.tinki.model.Work.Internship;
+import it.finki.tinki.model.Work.Job;
+import it.finki.tinki.model.Work.Project;
+import it.finki.tinki.model.dto.register.work.InternshipRegisterDTO;
+import it.finki.tinki.model.dto.register.work.JobRegisterDTO;
+import it.finki.tinki.model.dto.register.work.ProjectRegisterDTO;
+import it.finki.tinki.model.dto.response.work.InternshipResponseDTO;
 import it.finki.tinki.model.dto.response.work.JobResponseDTO;
+import it.finki.tinki.model.dto.response.work.ProjectResponseDTO;
+import it.finki.tinki.service.WorkService;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -11,7 +20,35 @@
 public class WorkRegisterController {
 
-//    @PostMapping("/job")
-//    public JobResponseDTO registerJob(@RequestBody JobRegisterDTO body){
-//
-//    }
+    WorkService workService;
+
+    public WorkRegisterController(WorkService workService) {
+        this.workService = workService;
+    }
+
+    @PostMapping("/job")
+    public JobResponseDTO registerJob(@RequestBody JobRegisterDTO body){
+
+        Job j = this.workService.insertJob(body.getTitle(),
+                body.getDescription(), body.getAccountId(), body.getSalary(), body.getSkillsRequired(), body.getType());
+
+        return new JobResponseDTO(j);
+    }
+
+    @PostMapping("/internship")
+    public InternshipResponseDTO registerInternship(@RequestBody InternshipRegisterDTO body){
+
+        Internship j = this.workService.insertInternship(body.getTitle(),
+                body.getDescription(), body.getAccountId(), body.getSalary(), body.getSkillsTrained(), body.getOpenSpots(), body.getType());
+
+        return new InternshipResponseDTO(j);
+    }
+
+    @PostMapping("/project")
+    public ProjectResponseDTO registerProject(@RequestBody ProjectRegisterDTO body){
+
+        Project j = this.workService.insertProject(body.getTitle(),
+                body.getDescription(), body.getAccountId(), body.getSalary(), body.getSkillsRequired(), body.getValidUntil(), body.getType());
+
+        return new ProjectResponseDTO(j);
+    }
 }
