Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -4,11 +4,13 @@
 import finki.paw5.model.entities.Employee;
 import finki.paw5.model.entities.User;
-
-import java.util.Optional;
+import finki.paw5.model.enumerations.FreeTime;
+import finki.paw5.model.enumerations.Funds;
+import finki.paw5.model.enumerations.Housing;
+import finki.paw5.model.enumerations.PhysicalActivity;
 
 public interface AuthService {
     User login (String email, String password);
-//    Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone);
-//    Employee registerEmployee(String password, String repeatPassword, String name, String email, String telephone);
+    Adopter registerAdopter(String name, String email, String password, String telephone, FreeTime freeTime, Funds funds, boolean hasOtherPets, boolean hasKids, Housing housing, PhysicalActivity physicalActivity, boolean willFoster);
+    Employee registerEmployee(String name, String email, String password, String telephone, String position, Integer shelterId);
 
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/OrganisationService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/OrganisationService.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/OrganisationService.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -0,0 +1,9 @@
+package finki.paw5.service;
+
+import finki.paw5.model.entities.Organisation;
+
+import java.util.List;
+
+public interface OrganisationService {
+    List<Organisation> findAll();
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -0,0 +1,9 @@
+package finki.paw5.service;
+
+import finki.paw5.model.entities.Shelter;
+
+import java.util.List;
+
+public interface ShelterService {
+    List<Shelter> listShelters();
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -1,6 +1,13 @@
 package finki.paw5.service.implementation;
 
+import finki.paw5.model.entities.Adopter;
+import finki.paw5.model.entities.Employee;
 import finki.paw5.model.entities.User;
-import finki.paw5.model.exceptions.NonExistingArgumentsException;
+import finki.paw5.model.enumerations.FreeTime;
+import finki.paw5.model.enumerations.Funds;
+import finki.paw5.model.enumerations.Housing;
+import finki.paw5.model.enumerations.PhysicalActivity;
+import finki.paw5.repository.AdopterRepository;
+import finki.paw5.repository.EmployeeRepository;
 import finki.paw5.repository.UserRepository;
 import finki.paw5.service.AuthService;
@@ -8,6 +15,4 @@
 
 import java.time.LocalDate;
-import java.util.Objects;
-import java.util.Optional;
 
 @Service
@@ -15,7 +20,11 @@
 
     private final UserRepository userRepository;
+    private final AdopterRepository adopterRepository;
+    private final EmployeeRepository employeeRepository;
 
-    public AuthServiceImpl(UserRepository userRepository) {
+    public AuthServiceImpl(UserRepository userRepository, AdopterRepository adopterRepository, EmployeeRepository employeeRepository) {
         this.userRepository = userRepository;
+        this.adopterRepository = adopterRepository;
+        this.employeeRepository = employeeRepository;
     }
 
@@ -29,19 +38,16 @@
     }
 
-    /*
+
     @Override
-    public Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone) {
-        if (email == null || email.isEmpty() || password == null || password.isEmpty()) {
-            //throw new Exception();
-        }
-        if (!password.equals(repeatPassword)) {
-            //throw new Exception();
-        }
-        if (this.userRepository.findByEmail(email)!=null) {
-            //throw new Exception("Username exists:"+email);
-        }
-        User user = new User(LocalDate.now(), name, email, password, telephone);
-        return userRepository.save(user);
+    public Adopter registerAdopter(String name, String email, String password, String telephone, FreeTime freeTime, Funds funds, boolean hasOtherPets, boolean hasKids, Housing housing, PhysicalActivity physicalActivity, boolean willFoster) {
+        Adopter adopter = new Adopter(LocalDate.now(), name, email, password, telephone,freeTime,funds,hasOtherPets,hasKids,housing,physicalActivity,willFoster,false);
+        return adopterRepository.save(adopter);
     }
-    */
+
+    @Override
+    public Employee registerEmployee(String name, String email, String password, String telephone, String position, Integer shelterId) {
+        Employee employee = new Employee(LocalDate.now(),name, email,password,telephone,position,shelterId,false);
+        return employeeRepository.save(employee);
+    }
+
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/OrganisationServiceImpl.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/OrganisationServiceImpl.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/OrganisationServiceImpl.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -0,0 +1,21 @@
+package finki.paw5.service.implementation;
+
+import finki.paw5.model.entities.Organisation;
+import finki.paw5.repository.OrganisationRepository;
+import finki.paw5.service.OrganisationService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+@Service
+public class OrganisationServiceImpl implements OrganisationService {
+    private final OrganisationRepository organisationRepository;
+
+    public OrganisationServiceImpl(OrganisationRepository organisationRepository) {
+        this.organisationRepository = organisationRepository;
+    }
+
+    @Override
+    public List<Organisation> findAll() {
+        return organisationRepository.findAll();
+    }
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImp.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImp.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImp.java	(revision da44aefab446c6f41792dadef297c98e1477752b)
@@ -0,0 +1,23 @@
+package finki.paw5.service.implementation;
+
+import finki.paw5.model.entities.Shelter;
+import finki.paw5.repository.ShelterRepository;
+import finki.paw5.service.ShelterService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ShelterServiceImp implements ShelterService {
+    private final ShelterRepository shelterRepository;
+
+    public ShelterServiceImp(ShelterRepository shelterRepository) {
+        this.shelterRepository = shelterRepository;
+    }
+
+
+    @Override
+    public List<Shelter> listShelters() {
+        return shelterRepository.findAll();
+    }
+}
