Index: Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/PersonalProfile.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/PersonalProfile.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/PersonalProfile.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -32,5 +32,5 @@
     private GroomingNeed groomingNeed;
 
-    public PersonalProfile(int id, FriendlyToKids friendlyToKids, FriendlyToPets friendlyToPets, AttentionNeed attentionNeed, PhysicalActivity physicalActivity, GroomingNeed groomingNeed) {
+    public PersonalProfile(Integer id, FriendlyToKids friendlyToKids, FriendlyToPets friendlyToPets, AttentionNeed attentionNeed, PhysicalActivity physicalActivity, GroomingNeed groomingNeed) {
         this.id = id;
         this.friendlyToKids = friendlyToKids;
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/PersonalProfileService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/PersonalProfileService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/PersonalProfileService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -0,0 +1,10 @@
+package finki.paw5.service;
+
+import finki.paw5.model.entities.PersonalProfile;
+import finki.paw5.web.controllers.PostController;
+
+import java.util.Optional;
+
+public interface PersonalProfileService {
+    Optional<PersonalProfile> findById(Integer petId);
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/PetService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/PetService.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/PetService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -2,7 +2,15 @@
 
 import finki.paw5.model.entities.Pet;
+import finki.paw5.web.controllers.PostController;
+
+import java.util.List;
+import java.util.Optional;
 
 public interface PetService {
 
     void save (Pet pet);
+
+    List<Pet> findAll();
+
+    Optional<Pet> findById(Integer petId);
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/PostService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/PostService.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/PostService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -2,8 +2,7 @@
 
 import finki.paw5.model.entities.Post;
-import finki.paw5.model.enumerations.AgeGroup;
-import finki.paw5.model.enumerations.Gender;
-import finki.paw5.model.enumerations.Size;
-import finki.paw5.model.enumerations.Species;
+
+import java.util.List;
+import java.util.Optional;
 
 public interface PostService {
@@ -11,3 +10,6 @@
     void save (Post post);
 
+    List<Post> findAll();
+
+    Optional<Post> findById(Integer id);
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -0,0 +1,9 @@
+package finki.paw5.service;
+
+import finki.paw5.model.entities.Shelter;
+
+import java.util.Optional;
+
+public interface ShelterService {
+    Optional<Shelter> findById(Integer id);
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PersonalProfileServiceImplementation.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PersonalProfileServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PersonalProfileServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -0,0 +1,23 @@
+package finki.paw5.service.implementation;
+
+import finki.paw5.model.entities.PersonalProfile;
+import finki.paw5.repository.PersonalProfileRepository;
+import finki.paw5.service.PersonalProfileService;
+import org.springframework.stereotype.Service;
+
+import java.util.Optional;
+
+@Service
+public class PersonalProfileServiceImplementation implements PersonalProfileService {
+
+    private final PersonalProfileRepository personalProfileRepository;
+
+    public PersonalProfileServiceImplementation(PersonalProfileRepository personalProfileRepository) {
+        this.personalProfileRepository = personalProfileRepository;
+    }
+
+    @Override
+    public Optional<PersonalProfile> findById(Integer petId) {
+        return this.personalProfileRepository.findById(petId);
+    }
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PetServiceImplementation.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PetServiceImplementation.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PetServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -5,4 +5,7 @@
 import finki.paw5.service.PetService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Optional;
 
 @Service
@@ -19,3 +22,13 @@
         this.petRepository.save(pet);
     }
+
+    @Override
+    public List<Pet> findAll() {
+        return this.petRepository.findAll();
+    }
+
+    @Override
+    public Optional<Pet> findById(Integer petId) {
+        return this.petRepository.findById(petId);
+    }
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PostServiceImplementation.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PostServiceImplementation.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PostServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -5,4 +5,7 @@
 import finki.paw5.service.PostService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Optional;
 
 @Service
@@ -20,3 +23,12 @@
     }
 
+    @Override
+    public List<Post> findAll() {
+        return this.postRepository.findAll();
+    }
+
+    @Override
+    public Optional<Post> findById(Integer id) {
+        return this.postRepository.findById(id);
+    }
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImplementation.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImplementation.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -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.Optional;
+
+@Service
+public class ShelterServiceImplementation implements ShelterService {
+
+    private final ShelterRepository shelterRepository;
+
+    public ShelterServiceImplementation(ShelterRepository shelterRepository) {
+        this.shelterRepository = shelterRepository;
+    }
+
+    @Override
+    public Optional<Shelter> findById(Integer id) {
+        return this.shelterRepository.findById(id);
+    }
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PostController.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PostController.java	(revision 3f5e4851fbac681e33c093a69a9b1634e6c410f3)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PostController.java	(revision a762b3a169f71e93658fcdd291268efb37c9c483)
@@ -1,19 +1,26 @@
 package finki.paw5.web.controllers;
 
+import finki.paw5.model.entities.PersonalProfile;
 import finki.paw5.model.entities.Pet;
 import finki.paw5.model.entities.Post;
+import finki.paw5.model.entities.Shelter;
 import finki.paw5.model.enumerations.AgeGroup;
 import finki.paw5.model.enumerations.Gender;
 import finki.paw5.model.enumerations.Size;
 import finki.paw5.model.enumerations.Species;
+import finki.paw5.service.PersonalProfileService;
 import finki.paw5.service.PetService;
 import finki.paw5.service.PostService;
+import finki.paw5.service.ShelterService;
+import jakarta.servlet.http.HttpServletRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.time.LocalDate;
+import java.util.List;
 
 @Controller
@@ -22,8 +29,10 @@
     private final PostService postService;
     private final PetService petService;
+    private final PersonalProfileService personalProfileService;
 
-    public PostController(PostService postService, PetService petService) {
+    public PostController(PostService postService, PetService petService, PersonalProfileService personalProfileService, ShelterService shelterService) {
         this.postService = postService;
         this.petService = petService;
+        this.personalProfileService = personalProfileService;
     }
 
@@ -54,3 +63,30 @@
         return "redirect:/home";
     }
+
+    @GetMapping("/adoption-posts")
+    public String getAdoptionPosts(Model model, HttpServletRequest request){
+
+        List<Post> posts = this.postService.findAll();
+        List<Pet> pets = this.petService.findAll();
+        //model.addAttribute("posts", posts);
+        //model.addAttribute("pets",pets);
+        request.getSession().setAttribute("posts",posts);//temp
+        request.getSession().setAttribute("pets",pets);//temp
+
+        return "list-posts-adoption";
+    }
+
+    @GetMapping("/pet-details-{id}")
+    public String getPostDetails(@PathVariable Integer id, Model model, HttpServletRequest request){
+
+        Post post = this.postService.findById(id).get();
+        Pet pet = this.petService.findById(post.getPetId()).get();
+
+        //model.addAttribute("pet", pet);
+        //model.addAttribute("post", post);
+        request.getSession().setAttribute("post", post);//temp
+        request.getSession().setAttribute("pet", pet);//temp
+
+        return "pet-details";
+    }
 }
