Index: src/main/java/it/finki/tinki/web/controller/LoginController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/LoginController.java	(revision 723994f8a33ce7a2bae5dc0b1def9351e7a32141)
+++ src/main/java/it/finki/tinki/web/controller/LoginController.java	(revision 723994f8a33ce7a2bae5dc0b1def9351e7a32141)
@@ -0,0 +1,66 @@
+package it.finki.tinki.web.controller;
+
+import it.finki.tinki.model.Users.Account;
+import it.finki.tinki.model.Users.Team;
+import it.finki.tinki.model.Users.User;
+import it.finki.tinki.model.dto.AccountLoginDTO;
+import it.finki.tinki.model.dto.AuthResponseDTO;
+import it.finki.tinki.model.dto.LoginResponseDTO;
+import it.finki.tinki.model.dto.UserResponseDTO;
+import it.finki.tinki.model.enumerator.AccountType;
+import it.finki.tinki.service.AccountService;
+import it.finki.tinki.service.MatchmakerService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.server.ResponseStatusException;
+
+import java.util.Map;
+
+@RestController
+@CrossOrigin(origins = "http://localhost:3000")
+@RequestMapping("/api")
+public class LoginController {
+
+    AccountService accountService;
+    MatchmakerService matchmakerService;
+
+    public LoginController(AccountService accountService, MatchmakerService matchmakerService) {
+        this.accountService = accountService;
+        this.matchmakerService = matchmakerService;
+    }
+
+    @PostMapping(path = "/login")
+    public LoginResponseDTO testPage(@RequestBody AccountLoginDTO body) throws ResponseStatusException {
+
+        System.out.println(body);
+
+        Account a1 = accountService.findUser(body.getEmail(), body.getPassword(), body.getType());
+        if(a1!=null){
+            if(a1.getClass().equals(User.class)){
+
+                UserResponseDTO uDto = new UserResponseDTO();
+
+                uDto.setId(a1.getId());
+                uDto.setEmail(a1.getEmail());
+                uDto.setName(a1.getName());
+                uDto.setType(AccountType.USER);
+                uDto.setSurname(((User) a1).getSurname());
+
+                uDto.setRetained(((User) a1).getRetainedSkills());
+                uDto.setToLearn(((User) a1).getSkillsToLearn());
+
+                uDto.setInternships(this.matchmakerService.getMatchingInternshipsForUser((User) a1));
+                uDto.setJobs(this.matchmakerService.getMatchingJobsForUser((User) a1));
+                uDto.setProjects(this.matchmakerService.getMatchingProjectsForUser((User) a1));
+
+                return uDto;
+            }else if(a1.getClass().equals(Team.class)){
+
+            }else{
+
+            }
+        }
+
+        return null;
+    }
+
+}
Index: src/main/java/it/finki/tinki/web/controller/RegisterController.java
===================================================================
--- src/main/java/it/finki/tinki/web/controller/RegisterController.java	(revision 723994f8a33ce7a2bae5dc0b1def9351e7a32141)
+++ src/main/java/it/finki/tinki/web/controller/RegisterController.java	(revision 723994f8a33ce7a2bae5dc0b1def9351e7a32141)
@@ -0,0 +1,89 @@
+package it.finki.tinki.web.controller;
+
+import it.finki.tinki.model.Skill;
+import it.finki.tinki.model.Users.Account;
+import it.finki.tinki.service.AccountService;
+import it.finki.tinki.service.SkillService;
+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;
+
+    public RegisterController(AccountService accountService, SkillService skillService) {
+        this.accountService = accountService;
+        this.skillService = skillService;
+    }
+
+    @RequestMapping(path = "/user", method = RequestMethod.POST)
+    private Map<String, String> registerUser(@RequestParam String email,
+                                                @RequestParam String password,
+                                                @RequestParam String name,
+                                                @RequestParam String surname,
+                                                @RequestParam List<Integer> retainedSkills,
+                                                @RequestParam List<Integer> skillsToLearn){
+
+        List<Skill> retained = this.skillService.returnSkillsBasedOnId(retainedSkills);
+        List<Skill> toLearn = this.skillService.returnSkillsBasedOnId(skillsToLearn);
+
+        Account k = this.accountService.registerUser(email, password, name, surname, 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(@RequestParam String email,
+                                             @RequestParam String password,
+                                             @RequestParam String name,
+                                             @RequestParam int members){
+
+        Account k = this.accountService.registerTeam(email, password, name, members);
+
+        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> registerTeam(@RequestParam String email,
+                                             @RequestParam String password,
+                                             @RequestParam String name,
+                                             @RequestParam String country,
+                                             @RequestParam String city,
+                                             @RequestParam String street){
+
+        Account k = this.accountService.registerCompany(email, password, name, country, city, street);
+
+        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;
+    }
+}
