diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
index 69cdebbb0350f335eddcdfdf807d0cd98f69d068..0100193ace9d67cbde1de6c8323e9d8129e7cc00 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
@@ -5,10 +5,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
-import vt.CS5934.SwitchRoom.models.InteractionModel;
-import vt.CS5934.SwitchRoom.models.MatchedWishlistRecordModel;
-import vt.CS5934.SwitchRoom.models.ResponseModel;
-import vt.CS5934.SwitchRoom.models.UserOfferModel;
+import vt.CS5934.SwitchRoom.models.*;
 import vt.CS5934.SwitchRoom.services.InteractionService;
 import vt.CS5934.SwitchRoom.services.MatchedWishlistRecordService;
 import vt.CS5934.SwitchRoom.utility.LookupTables;
@@ -106,7 +103,8 @@ public class InteractiveController {
     public ResponseModel getInteraction(@PathVariable Integer userId) {
         logger.info("You reached the getInteraction() function.");
         try{
-            InteractionModel[] tranBack = interactionService.findAllInteractionsFromDB(userId);
+//            InteractionModel[] tranBack = interactionService.findAllInteractionsFromDB(userId);
+            InteractionCombinedModel tranBack = interactionService.findAllInteractionsFromDB(userId);
             return new ResponseModel(
                     "This is a Interaction array response",
                     HttpStatus.OK,
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
index 3b6d2f02fc48768bcc2177cc5197a80ad6ba406f..2706941b5114dd1d69a587f61347145ae9e710d0 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/UserController.java
@@ -8,6 +8,7 @@ import org.springframework.data.repository.query.Param;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
+import vt.CS5934.SwitchRoom.models.InteractionCombinedModel;
 import vt.CS5934.SwitchRoom.models.ResponseModel;
 import vt.CS5934.SwitchRoom.models.UserModel;
 import vt.CS5934.SwitchRoom.services.Token;
@@ -238,4 +239,22 @@ public class UserController {
 
         return response;
     }
+
+    @GetMapping("/{userId}")
+    public ResponseModel getSpecificUser(@PathVariable Integer userId) {
+        logger.info("You reached the getSpecificUser() function.");
+        System.out.println("this is the specific user id " + userId);
+        try{
+            UserModel back = userService.findSpecificUser(userId);
+            return new ResponseModel(
+                    "This is a Interaction array response",
+                    HttpStatus.OK,
+                    back);
+        }catch (Exception e){
+            return new ResponseModel(
+                    "Error occur on get All ExampleModels, Error info is: " + e,
+                    HttpStatus.OK,
+                    null);
+        }
+    }
 }
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/models/InteractionCombinedModel.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/models/InteractionCombinedModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..99d5f9ee3dcdda5c8c5b0d39e7b19e5319750904
--- /dev/null
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/models/InteractionCombinedModel.java
@@ -0,0 +1,51 @@
+package vt.CS5934.SwitchRoom.models;
+
+public class InteractionCombinedModel {
+
+    private InteractionModel[] list1;
+
+    private InteractionModel[] list2;
+
+    private UserModel[] user1;
+
+    private UserModel[] user2;
+
+    public InteractionCombinedModel(InteractionModel[] list1, InteractionModel[] list2, UserModel[] user1, UserModel[] user2) {
+        this.list1 = list1;
+        this.list2 = list2;
+        this.user1 = user1;
+        this.user2 = user2;
+    }
+
+    public InteractionModel[] getList1() {
+        return list1;
+    }
+
+    public void setList1(InteractionModel[] list1) {
+        this.list1 = list1;
+    }
+
+    public InteractionModel[] getList2() {
+        return list2;
+    }
+
+    public void setList2(InteractionModel[] list2) {
+        this.list2 = list2;
+    }
+
+    public UserModel[] getUser1() {
+        return user1;
+    }
+
+    public void setUser1(UserModel[] user1) {
+        this.user1 = user1;
+    }
+
+    public UserModel[] getUser2() {
+        return user2;
+    }
+
+    public void setUser2(UserModel[] user2) {
+        this.user2 = user2;
+    }
+}
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/repositories/MatchedWishlistRecordRepository.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/repositories/MatchedWishlistRecordRepository.java
index 8e067f3c602b651c33e0dd12e1dc02115a4104c3..063ee7f04e668eff916c1edf8f5dedbdfffb062d 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/repositories/MatchedWishlistRecordRepository.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/repositories/MatchedWishlistRecordRepository.java
@@ -44,7 +44,7 @@ public interface MatchedWishlistRecordRepository extends JpaRepository<MatchedWi
 
     void deleteMatchedWishlistRecordModelByOfferIdAndWishlistItemId(Long offerId, Long wishlistItemId);
 
-    List<MatchedWishlistRecordModel> findAllByOfferIdAndOfferResultAndWishlistResult(Long offerId, LookupTables.MATCHING_RECORD_USER_RESULT offerResult, LookupTables.MATCHING_RECORD_USER_RESULT wishlistResult);
+    List<MatchedWishlistRecordModel> findAllByOfferIdAndOfferResult(Long offerId, LookupTables.MATCHING_RECORD_USER_RESULT offerResult);
 
-    List<MatchedWishlistRecordModel> findAllByWishlistItemIdAndWishlistResultAndOfferResult(Long wishlistItemId, LookupTables.MATCHING_RECORD_USER_RESULT offerResult, LookupTables.MATCHING_RECORD_USER_RESULT wishlistResult);
+    List<MatchedWishlistRecordModel> findAllByWishlistItemIdAndWishlistResult(Long wishlistItemId, LookupTables.MATCHING_RECORD_USER_RESULT wishlistResult);
 }
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/DealWithWishlist.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/DealWithWishlist.java
index 1b7b8e878775e2a97f1e4c6a379cd75a4bb39039..21a64ff514225d5106d9c5012d31b44058594268 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/DealWithWishlist.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/DealWithWishlist.java
@@ -28,7 +28,7 @@ public class DealWithWishlist {
         List<MatchedWishlistRecordModel> finalAns = new ArrayList<>();
         for(int i = 0; i < list.size(); i++) {
 //            System.out.println(list.get(i).getWishlistItemId() + " come on");
-            List<MatchedWishlistRecordModel> ans = matchedWishlistRecordRepository.findAllByWishlistItemIdAndWishlistResultAndOfferResult(list.get(i).getWishlistItemId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting, LookupTables.MATCHING_RECORD_USER_RESULT.Waiting);
+            List<MatchedWishlistRecordModel> ans = matchedWishlistRecordRepository.findAllByWishlistItemIdAndWishlistResult(list.get(i).getWishlistItemId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting);
 //            System.out.println(ans);
             finalAns.addAll(ans);
         }
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/InteractionService.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/InteractionService.java
index 2b8268d0d6b78f85f2e8ad53bbce15de519af435..ebc32f66f730242fb32c554a25b330720232ce5c 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/InteractionService.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/InteractionService.java
@@ -4,6 +4,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import vt.CS5934.SwitchRoom.models.InteractionCombinedModel;
 import vt.CS5934.SwitchRoom.models.InteractionModel;
 import vt.CS5934.SwitchRoom.models.UserModel;
 import vt.CS5934.SwitchRoom.repositories.InteractionRepository;
@@ -24,6 +25,9 @@ public class InteractionService {
     @Autowired
     InteractionRepository interactionRepository;
 
+    @Autowired
+    UserRepository userRepository;
+
 
     public InteractionModel addDataToDB(Integer userId1, Integer userId2, String phone1, String phone2, Boolean judgement, String offerId, String wishlistId){
         logger.info("Reached addNewExampleModelToDB()");
@@ -43,14 +47,26 @@ public class InteractionService {
         return updateData;
     }
 
-    public InteractionModel[] findAllInteractionsFromDB(Integer userId) {
+    public InteractionCombinedModel findAllInteractionsFromDB(Integer userId) {
         InteractionModel[] res1 = interactionRepository.findInteractionModelsByUserId1(userId);
         InteractionModel[] res2 = interactionRepository.findInteractionModelsByUserId2(userId);
-        int fal = res1.length;
-        int sal = res2.length;
-        InteractionModel[] res = new InteractionModel[fal + sal];
-        System.arraycopy(res1, 0, res, 0, fal);
-        System.arraycopy(res2, 0, res, fal, sal);
+        UserModel[] user1 = new UserModel[res1.length];
+        UserModel[] user2 = new UserModel[res2.length];
+        for(int i = 0; i < res1.length; i++) {
+            UserModel user = userRepository.findByUserId(res1[i].getUserId2());
+            user1[i] = user;
+        }
+        for(int j = 0; j < res2.length; j++) {
+            UserModel user = userRepository.findByUserId(res2[j].getUserId1());
+            user2[j] = user;
+        }
+
+        InteractionCombinedModel res = new InteractionCombinedModel(res1, res2, user1, user2);
+//        int fal = res1.length;
+//        int sal = res2.length;
+//        InteractionModel[] res = new InteractionModel[fal + sal];
+//        System.arraycopy(res1, 0, res, 0, fal);
+//        System.arraycopy(res2, 0, res, fal, sal);
         return res;
     }
 }
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
index 63c5974f48a0f77a71994404debe6745c134428d..2e1ba4bc06da20f46432235c0cf0d31ca1c11c9c 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
@@ -43,7 +43,7 @@ public class MatchedWishlistRecordService {
 
     public List<MatchedWishlistRecordModel> getOfferListWithIDFromDB(long id){
         logger.info("Reached getOfferListIDFromDB()");
-        return matchedWishlistRecordRepository.findAllByOfferIdAndOfferResultAndWishlistResult(id, LookupTables.MATCHING_RECORD_USER_RESULT.Waiting, LookupTables.MATCHING_RECORD_USER_RESULT.Waiting);
+        return matchedWishlistRecordRepository.findAllByOfferIdAndOfferResult(id, LookupTables.MATCHING_RECORD_USER_RESULT.Waiting);
     }
 
     public MatchedWishlistRecordModel getHistoryFromDB(Long offerId, Long wishlistItemId) {
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/UserService.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/UserService.java
index a18e76906a062494723cc4a705d92c64f58ad03a..0a5eb36685a7b0f196191e5cc5b768f82b0be2d5 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/UserService.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/UserService.java
@@ -217,4 +217,9 @@ public class UserService {
             return false;
         }
     }
+
+    public UserModel findSpecificUser(int userId) {
+        UserModel specificUser = userRepository.findByUserId(userId);
+        return specificUser;
+    }
 }
diff --git a/FrontendFolder/switch-room/src/components/ResultCard.vue b/FrontendFolder/switch-room/src/components/ResultCard.vue
index ad26c94cf3a440dd9d43e8d888933bbb158655d0..af3e78b248fdbb3cceab64910344b5a2e7d07669 100644
--- a/FrontendFolder/switch-room/src/components/ResultCard.vue
+++ b/FrontendFolder/switch-room/src/components/ResultCard.vue
@@ -1,10 +1,13 @@
 <template>
   <div class="card">
     <div class="container">
-      <h3>Please use the phone number here to contact with another resident</h3>
+      <h3>
+        Please use the following information to contact with another resident
+      </h3>
       <div v-if="interaction.judgement">
-        <p>Phone Number 1: {{ interaction.phone1 }}</p>
-        <p>Phone Number 2: {{ interaction.phone2 }}</p>
+        <p>Name: {{ user1.firstname }} {{ user1.lastname }}</p>
+        <p>Email: {{ user1.email }}</p>
+        <p>Phone: {{ interaction.phone2 }}</p>
       </div>
       <div v-else>
         <p>Another resident don't want to switch with you.</p>
@@ -14,10 +17,17 @@
 </template>
 
 <script setup lang="ts">
-import { defineProps } from "vue";
+import { defineProps, watch } from "vue";
 import { InteractionModel } from "@/models/InteractionModel";
+import { useRoute } from "vue-router";
+import { UserModel } from "@/models/UserModel";
+import { inject } from "vue";
+const route = useRoute();
+
 const props = defineProps<{
   interaction: InteractionModel;
+  // specificUser: UserModel;
+  user1: UserModel;
 }>();
 </script>
 
diff --git a/FrontendFolder/switch-room/src/components/ResultCardSecond.vue b/FrontendFolder/switch-room/src/components/ResultCardSecond.vue
new file mode 100644
index 0000000000000000000000000000000000000000..3876d6a4d763b161d8895db82a193faa49f3ebbb
--- /dev/null
+++ b/FrontendFolder/switch-room/src/components/ResultCardSecond.vue
@@ -0,0 +1,45 @@
+<template>
+  <div class="card">
+    <div class="container">
+      <h3>
+        Please use the following information to contact with another resident
+      </h3>
+      <div v-if="interaction.judgement">
+        <p>Name: {{ user2.firstname }} {{ user2.lastname }}</p>
+        <p>Email: {{ user2.email }}</p>
+        <p>Phone: {{ interaction.phone1 }}</p>
+      </div>
+      <div v-else>
+        <p>Another resident don't want to switch with you.</p>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { defineProps, watch } from "vue";
+import { InteractionModel } from "@/models/InteractionModel";
+import { UserModel } from "@/models/UserModel";
+const props = defineProps<{
+  interaction: InteractionModel;
+  user2: UserModel;
+}>();
+</script>
+
+<style scoped>
+.card {
+  /* Add shadows to create the "card" effect */
+  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+  transition: 0.3s;
+}
+
+/* On mouse-over, add a deeper shadow */
+.card:hover {
+  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
+}
+
+/* Add some padding inside the card container */
+.container {
+  padding: 2px 16px;
+}
+</style>
diff --git a/FrontendFolder/switch-room/src/services/UserService.ts b/FrontendFolder/switch-room/src/services/UserService.ts
index 1d0d97acefd82c879d3d1b4a275b27e7743b9527..c3d3eb7db7f1c1405199734cf23fa3ac562d3fb5 100644
--- a/FrontendFolder/switch-room/src/services/UserService.ts
+++ b/FrontendFolder/switch-room/src/services/UserService.ts
@@ -32,6 +32,11 @@ function getProfile() {
   return serverHttpService.Get(baseUrl + urlPath);
 }
 
+function getSpecificProfile(userId: any) {
+  const urlPath = "/" + userId;
+  return serverHttpService.Get(baseUrl + urlPath);
+}
+
 export {
   postUserDataToServer,
   loginUser,
@@ -39,5 +44,6 @@ export {
   resetPassword,
   forgotPassword,
   forgotPasswordCreateNew,
-  getProfile
+  getProfile,
+  getSpecificProfile,
 };
diff --git a/FrontendFolder/switch-room/src/views/ResultsView.vue b/FrontendFolder/switch-room/src/views/ResultsView.vue
index 604458e34c35df7a196b9d7b5a917fe6e0e00527..c88491d12a95ece73c35780bcdd2ce42952b2d78 100644
--- a/FrontendFolder/switch-room/src/views/ResultsView.vue
+++ b/FrontendFolder/switch-room/src/views/ResultsView.vue
@@ -1,20 +1,34 @@
 <template>
   <h1>Result List</h1>
   <h2><b>You can find the results here</b></h2>
-  <div v-for="interaction in interactions">
-    <result-card :interaction="interaction"></result-card>
+  <div v-for="(interaction, index) in interaction1" :key="index">
+    <result-card :interaction="interaction" :user1="user1[index]"></result-card>
+  </div>
+  <div v-for="(interaction, index) in interaction2">
+    <result-card-second
+      :interaction="interaction"
+      :user2="user2[index]"
+    ></result-card-second>
   </div>
 </template>
 
 <script setup lang="ts">
 import ResultCard from "@/components/ResultCard.vue";
+import ResultCardSecond from "@/components/ResultCardSecond.vue";
 import { ref, watch } from "vue";
 import { useRoute } from "vue-router";
 import * as PhoneService from "@/services/PhoneService";
+import * as UserService from "@/services/UserService";
 import { InteractionModel } from "@/models/InteractionModel";
+import { UserModel } from "@/models/UserModel";
+import { provide } from "vue";
 
 const route = useRoute();
-const interactions = ref([] as InteractionModel[]);
+const interaction1 = ref([] as InteractionModel[]);
+const interaction2 = ref([] as InteractionModel[]);
+const user1 = ref([] as UserModel[]);
+const user2 = ref([] as UserModel[]);
+
 function getCookie(userId: string) {
   const value = `; ${document.cookie}`;
   const parts: string[] = value.split(`; ${userId}=`);
@@ -22,16 +36,31 @@ function getCookie(userId: string) {
 }
 async function fetchInteraction(userId: number) {
   const response = await PhoneService.fetchFromServer(userId);
-  interactions.value = response.data;
+  // interactions.value = response.data;
+  interaction1.value = response.data.list1;
+  interaction2.value = response.data.list2;
+  user1.value = response.data.user1;
+  user2.value = response.data.user2;
   console.log("what happened");
   console.log(response.data);
 }
+
+// async function fetchSpecificUsers() {
+//   for (let i = 0; i < interaction1.value.length; i++) {
+//     const specificUserId = interaction1.value[i].userId2;
+//     const response = await UserService.getSpecificProfile(specificUserId);
+//     await specificUsers.value.push(await response.data);
+//   }
+//   console.log("what happened");
+//   console.log(specificUsers.value);
+// }
 watch(
   () => route.name,
   (values) => {
     const userIdString: string = getCookie("userId");
     let userIdNumber = +userIdString;
     fetchInteraction(userIdNumber);
+    // await fetchSpecificUsers();
   },
   { immediate: true }
 );