diff --git a/spec.json b/spec.json
index ad608d501e4712ac0170288ec46ff2533b93dfbc..95468154a5d3f5a038d1aaa8cd3767ebca3055e4 100644
--- a/spec.json
+++ b/spec.json
@@ -43,6 +43,16 @@
           }
         ],
         "responses": {
+          "404": {
+            "description": "Friend request not found",
+            "content": {
+              "*/*": {
+                "schema": {
+                  "type": "object"
+                }
+              }
+            }
+          },
           "200": {
             "description": "Friend request successfully accepted",
             "content": {
@@ -54,6 +64,47 @@
             }
           }
         }
+      },
+      "delete": {
+        "tags": [
+          "Friend"
+        ],
+        "summary": "Delete a friend or cancel a friend request",
+        "description": "Deletes an existing friend from your friend list or cancels a received friend request.",
+        "operationId": "deleteFriendOrFriendRequest",
+        "parameters": [
+          {
+            "name": "friendId",
+            "in": "path",
+            "required": true,
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
+        "responses": {
+          "404": {
+            "description": "Friend or friend request not found",
+            "content": {
+              "*/*": {
+                "schema": {
+                  "type": "object"
+                }
+              }
+            }
+          },
+          "200": {
+            "description": "Friend successfully deleted or friend request cancelled",
+            "content": {
+              "*/*": {
+                "schema": {
+                  "type": "object"
+                }
+              }
+            }
+          }
+        }
       }
     },
     "/bank/v1/transaction/norwegian-domestic-payment-to-self": {
@@ -475,7 +526,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/Budget"
+                  "type": "object"
                 }
               }
             }
@@ -598,8 +649,8 @@
               }
             }
           },
-          "404": {
-            "description": "User not found",
+          "401": {
+            "description": "Invalid credentials",
             "content": {
               "application/json": {
                 "schema": {
@@ -608,8 +659,8 @@
               }
             }
           },
-          "401": {
-            "description": "Invalid credentials",
+          "404": {
+            "description": "User not found",
             "content": {
               "application/json": {
                 "schema": {
@@ -1585,256 +1636,6 @@
           }
         }
       },
-      "Badge": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "badgeName": {
-            "type": "string"
-          },
-          "criteria": {
-            "type": "string"
-          },
-          "badgeUserList": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/BadgeUser"
-            }
-          }
-        }
-      },
-      "BadgeUser": {
-        "type": "object",
-        "properties": {
-          "badgeUserId": {
-            "$ref": "#/components/schemas/BadgeUserId"
-          },
-          "earnedAt": {
-            "type": "string",
-            "format": "date-time"
-          }
-        }
-      },
-      "BadgeUserId": {
-        "type": "object",
-        "properties": {
-          "badge": {
-            "$ref": "#/components/schemas/Badge"
-          },
-          "user": {
-            "$ref": "#/components/schemas/User"
-          }
-        }
-      },
-      "Budget": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "user": {
-            "$ref": "#/components/schemas/User"
-          },
-          "createdAt": {
-            "type": "string",
-            "format": "date-time"
-          },
-          "budgetName": {
-            "type": "string"
-          },
-          "budgetAmount": {
-            "type": "number"
-          },
-          "expenseAmount": {
-            "type": "number"
-          }
-        }
-      },
-      "Configuration": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "commitment": {
-            "type": "string",
-            "enum": [
-              "LITTLE",
-              "SOME",
-              "MUCH"
-            ]
-          },
-          "experience": {
-            "type": "string",
-            "enum": [
-              "NONE",
-              "SOME",
-              "EXPERT"
-            ]
-          },
-          "challengeTypes": {
-            "type": "array",
-            "items": {
-              "type": "string",
-              "enum": [
-                "NO_COFFEE",
-                "NO_CAR",
-                "SHORTER_SHOWER",
-                "SPEND_LESS_ON_FOOD",
-                "BUY_USED_CLOTHES",
-                "LESS_SHOPPING",
-                "DROP_SUBSCRIPTION",
-                "SELL_SOMETHING",
-                "BUY_USED",
-                "EAT_PACKED_LUNCH",
-                "STOP_SHOPPING",
-                "ZERO_SPENDING",
-                "RENT_YOUR_STUFF",
-                "MEATLESS",
-                "SCREEN_TIME_LIMIT",
-                "UNPLUGGED_ENTERTAINMENT"
-              ]
-            }
-          }
-        }
-      },
-      "GrantedAuthority": {
-        "type": "object",
-        "properties": {
-          "authority": {
-            "type": "string"
-          }
-        }
-      },
-      "Point": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "currentPoints": {
-            "type": "integer",
-            "format": "int32"
-          },
-          "totalEarnedPoints": {
-            "type": "integer",
-            "format": "int32"
-          }
-        }
-      },
-      "Streak": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "currentStreak": {
-            "type": "integer",
-            "format": "int32"
-          },
-          "currentStreakCreatedAt": {
-            "type": "string",
-            "format": "date-time"
-          },
-          "currentStreakUpdatedAt": {
-            "type": "string",
-            "format": "date-time"
-          },
-          "highestStreak": {
-            "type": "integer",
-            "format": "int32"
-          },
-          "highestStreakCreatedAt": {
-            "type": "string",
-            "format": "date-time"
-          },
-          "highestStreakEndedAt": {
-            "type": "string",
-            "format": "date-time"
-          }
-        }
-      },
-      "User": {
-        "type": "object",
-        "properties": {
-          "id": {
-            "type": "integer",
-            "format": "int64"
-          },
-          "firstName": {
-            "type": "string"
-          },
-          "lastName": {
-            "type": "string"
-          },
-          "email": {
-            "type": "string"
-          },
-          "checkingAccount": {
-            "$ref": "#/components/schemas/Account"
-          },
-          "savingsAccount": {
-            "$ref": "#/components/schemas/Account"
-          },
-          "password": {
-            "type": "string"
-          },
-          "createdAt": {
-            "type": "string",
-            "format": "date-time"
-          },
-          "role": {
-            "type": "string",
-            "enum": [
-              "USER",
-              "ADMIN"
-            ]
-          },
-          "badges": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/Badge"
-            }
-          },
-          "point": {
-            "$ref": "#/components/schemas/Point"
-          },
-          "streak": {
-            "$ref": "#/components/schemas/Streak"
-          },
-          "configuration": {
-            "$ref": "#/components/schemas/Configuration"
-          },
-          "enabled": {
-            "type": "boolean"
-          },
-          "username": {
-            "type": "string"
-          },
-          "authorities": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/GrantedAuthority"
-            }
-          },
-          "accountNonLocked": {
-            "type": "boolean"
-          },
-          "credentialsNonExpired": {
-            "type": "boolean"
-          },
-          "accountNonExpired": {
-            "type": "boolean"
-          }
-        }
-      },
       "ExceptionResponse": {
         "type": "object",
         "properties": {
diff --git a/src/api/index.ts b/src/api/index.ts
index 384ad7693642773834ae4b5fdbd8a2654b9e378e..d86adbf0fe3bd391b7cd8c97b974dfdb9f74f97f 100644
--- a/src/api/index.ts
+++ b/src/api/index.ts
@@ -11,18 +11,13 @@ export type { Account } from './models/Account';
 export type { AccountRequestDTO } from './models/AccountRequestDTO';
 export type { AccountResponseDTO } from './models/AccountResponseDTO';
 export type { AuthenticationResponse } from './models/AuthenticationResponse';
-export type { Badge } from './models/Badge';
-export type { BadgeUser } from './models/BadgeUser';
-export type { BadgeUserId } from './models/BadgeUserId';
 export type { BankAccountDTO } from './models/BankAccountDTO';
 export type { BankProfile } from './models/BankProfile';
 export type { BankProfileDTO } from './models/BankProfileDTO';
 export type { BankProfileResponseDTO } from './models/BankProfileResponseDTO';
-export type { Budget } from './models/Budget';
 export type { BudgetRequestDTO } from './models/BudgetRequestDTO';
 export type { BudgetResponseDTO } from './models/BudgetResponseDTO';
 export type { ChallengeDTO } from './models/ChallengeDTO';
-export { Configuration } from './models/Configuration';
 export type { ConfigurationDTO } from './models/ConfigurationDTO';
 export type { CreateGoalDTO } from './models/CreateGoalDTO';
 export type { DailyChallengeProgressDTO } from './models/DailyChallengeProgressDTO';
@@ -30,7 +25,6 @@ export type { ExceptionResponse } from './models/ExceptionResponse';
 export type { ExpenseRequestDTO } from './models/ExpenseRequestDTO';
 export type { ExpenseResponseDTO } from './models/ExpenseResponseDTO';
 export type { GoalDTO } from './models/GoalDTO';
-export type { GrantedAuthority } from './models/GrantedAuthority';
 export type { LeaderboardDTO } from './models/LeaderboardDTO';
 export type { LeaderboardEntryDTO } from './models/LeaderboardEntryDTO';
 export type { LoginRequest } from './models/LoginRequest';
@@ -38,12 +32,9 @@ export { ParticipantDTO } from './models/ParticipantDTO';
 export type { ParticipantUserDTO } from './models/ParticipantUserDTO';
 export type { PasswordResetDTO } from './models/PasswordResetDTO';
 export type { PasswordUpdateDTO } from './models/PasswordUpdateDTO';
-export type { Point } from './models/Point';
 export type { ProfileDTO } from './models/ProfileDTO';
 export type { SignUpRequest } from './models/SignUpRequest';
-export type { Streak } from './models/Streak';
 export type { TransactionDTO } from './models/TransactionDTO';
-export { User } from './models/User';
 export type { UserDTO } from './models/UserDTO';
 export type { UserUpdateDTO } from './models/UserUpdateDTO';
 
diff --git a/src/api/models/Badge.ts b/src/api/models/Badge.ts
deleted file mode 100644
index 50014a6bafe26372c8a1de0590202b0d0fdd9a13..0000000000000000000000000000000000000000
--- a/src/api/models/Badge.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-import type { BadgeUser } from './BadgeUser';
-export type Badge = {
-    id?: number;
-    badgeName?: string;
-    criteria?: string;
-    badgeUserList?: Array<BadgeUser>;
-};
-
diff --git a/src/api/models/BadgeUser.ts b/src/api/models/BadgeUser.ts
deleted file mode 100644
index 46d6ec47b928849f1765ef5e0a15cca35567cfbb..0000000000000000000000000000000000000000
--- a/src/api/models/BadgeUser.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-import type { BadgeUserId } from './BadgeUserId';
-export type BadgeUser = {
-    badgeUserId?: BadgeUserId;
-    earnedAt?: string;
-};
-
diff --git a/src/api/models/BadgeUserId.ts b/src/api/models/BadgeUserId.ts
deleted file mode 100644
index d89476aa54dcae9fad5ba96e9e7a6e2be2eb1c71..0000000000000000000000000000000000000000
--- a/src/api/models/BadgeUserId.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-import type { Badge } from './Badge';
-import type { User } from './User';
-export type BadgeUserId = {
-    badge?: Badge;
-    user?: User;
-};
-
diff --git a/src/api/models/Budget.ts b/src/api/models/Budget.ts
deleted file mode 100644
index 6103ac46760fb282236f05a0ba77eb3a5031cf2f..0000000000000000000000000000000000000000
--- a/src/api/models/Budget.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-import type { User } from './User';
-export type Budget = {
-    id?: number;
-    user?: User;
-    createdAt?: string;
-    budgetName?: string;
-    budgetAmount?: number;
-    expenseAmount?: number;
-};
-
diff --git a/src/api/models/Configuration.ts b/src/api/models/Configuration.ts
deleted file mode 100644
index b932eb0ee7940f855a894f6b0117751b4d3e0156..0000000000000000000000000000000000000000
--- a/src/api/models/Configuration.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-export type Configuration = {
-    id?: number;
-    commitment?: Configuration.commitment;
-    experience?: Configuration.experience;
-    challengeTypes?: Array<'NO_COFFEE' | 'NO_CAR' | 'SHORTER_SHOWER' | 'SPEND_LESS_ON_FOOD' | 'BUY_USED_CLOTHES' | 'LESS_SHOPPING' | 'DROP_SUBSCRIPTION' | 'SELL_SOMETHING' | 'BUY_USED' | 'EAT_PACKED_LUNCH' | 'STOP_SHOPPING' | 'ZERO_SPENDING' | 'RENT_YOUR_STUFF' | 'MEATLESS' | 'SCREEN_TIME_LIMIT' | 'UNPLUGGED_ENTERTAINMENT'>;
-};
-export namespace Configuration {
-    export enum commitment {
-        LITTLE = 'LITTLE',
-        SOME = 'SOME',
-        MUCH = 'MUCH',
-    }
-    export enum experience {
-        NONE = 'NONE',
-        SOME = 'SOME',
-        EXPERT = 'EXPERT',
-    }
-}
-
diff --git a/src/api/models/GrantedAuthority.ts b/src/api/models/GrantedAuthority.ts
deleted file mode 100644
index 5fa268a0a717b478a8b6abcf5ccf8ccd2ecf5ae8..0000000000000000000000000000000000000000
--- a/src/api/models/GrantedAuthority.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-export type GrantedAuthority = {
-    authority?: string;
-};
-
diff --git a/src/api/models/Point.ts b/src/api/models/Point.ts
deleted file mode 100644
index 971f5ff1cf23bbe7dff322dc589cafc38706497d..0000000000000000000000000000000000000000
--- a/src/api/models/Point.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-export type Point = {
-    id?: number;
-    currentPoints?: number;
-    totalEarnedPoints?: number;
-};
-
diff --git a/src/api/models/Streak.ts b/src/api/models/Streak.ts
deleted file mode 100644
index d228c48e7a51d763f5ddcbd86d2143144c36b60a..0000000000000000000000000000000000000000
--- a/src/api/models/Streak.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-export type Streak = {
-    id?: number;
-    currentStreak?: number;
-    currentStreakCreatedAt?: string;
-    currentStreakUpdatedAt?: string;
-    highestStreak?: number;
-    highestStreakCreatedAt?: string;
-    highestStreakEndedAt?: string;
-};
-
diff --git a/src/api/models/User.ts b/src/api/models/User.ts
deleted file mode 100644
index 7f5c5051e6dfc83847a43a8e3cf8f3424e7020d6..0000000000000000000000000000000000000000
--- a/src/api/models/User.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* generated using openapi-typescript-codegen -- do not edit */
-/* istanbul ignore file */
-/* tslint:disable */
-/* eslint-disable */
-import type { Account } from './Account';
-import type { Badge } from './Badge';
-import type { Configuration } from './Configuration';
-import type { GrantedAuthority } from './GrantedAuthority';
-import type { Point } from './Point';
-import type { Streak } from './Streak';
-export type User = {
-    id?: number;
-    firstName?: string;
-    lastName?: string;
-    email?: string;
-    profileImage?: number;
-    checkingAccount?: Account;
-    savingsAccount?: Account;
-    password?: string;
-    createdAt?: string;
-    role?: User.role;
-    badges?: Array<Badge>;
-    point?: Point;
-    streak?: Streak;
-    configuration?: Configuration;
-    enabled?: boolean;
-    username?: string;
-    authorities?: Array<GrantedAuthority>;
-    accountNonLocked?: boolean;
-    credentialsNonExpired?: boolean;
-    accountNonExpired?: boolean;
-};
-export namespace User {
-    export enum role {
-        USER = 'USER',
-        ADMIN = 'ADMIN',
-    }
-}
-
diff --git a/src/api/services/FriendService.ts b/src/api/services/FriendService.ts
index 6754fc894ccd0732dc1c827a6ae2f6f5277dd310..027c6a7e55949b0ab3663cea767d451121593f3d 100644
--- a/src/api/services/FriendService.ts
+++ b/src/api/services/FriendService.ts
@@ -24,6 +24,31 @@ export class FriendService {
             path: {
                 'friendId': friendId,
             },
+            errors: {
+                404: `Friend request not found`,
+            },
+        });
+    }
+    /**
+     * Delete a friend or cancel a friend request
+     * Deletes an existing friend from your friend list or cancels a received friend request.
+     * @returns any Friend successfully deleted or friend request cancelled
+     * @throws ApiError
+     */
+    public static deleteFriendOrFriendRequest({
+        friendId,
+    }: {
+        friendId: number,
+    }): CancelablePromise<Record<string, any>> {
+        return __request(OpenAPI, {
+            method: 'DELETE',
+            url: '/api/friends/{friendId}',
+            path: {
+                'friendId': friendId,
+            },
+            errors: {
+                404: `Friend or friend request not found`,
+            },
         });
     }
     /**
diff --git a/src/api/services/UserService.ts b/src/api/services/UserService.ts
index 1b05abf91ec94a332c863d9f963260f55feccbe0..e7b80041bff94cbc4a17e041ead118b85b9db970 100644
--- a/src/api/services/UserService.ts
+++ b/src/api/services/UserService.ts
@@ -4,7 +4,6 @@
 /* eslint-disable */
 import type { Account } from '../models/Account';
 import type { BankAccountDTO } from '../models/BankAccountDTO';
-import type { Budget } from '../models/Budget';
 import type { BudgetRequestDTO } from '../models/BudgetRequestDTO';
 import type { BudgetResponseDTO } from '../models/BudgetResponseDTO';
 import type { ExpenseRequestDTO } from '../models/ExpenseRequestDTO';
@@ -112,14 +111,14 @@ export class UserService {
     /**
      * Create a new budget
      * Create a new budget with based on the budget request
-     * @returns Budget Successfully created new budget
+     * @returns any Successfully created new budget
      * @throws ApiError
      */
     public static createBudget({
         requestBody,
     }: {
         requestBody: BudgetRequestDTO,
-    }): CancelablePromise<Budget> {
+    }): CancelablePromise<Record<string, any>> {
         return __request(OpenAPI, {
             method: 'POST',
             url: '/api/budget/create',
diff --git a/src/views/User/UserFriendsView.vue b/src/views/User/UserFriendsView.vue
index f37dfe4b237c2f8d9f20cc87c29973874f2ea33b..ae17297ad9dbe29a6a9ad36e72cda666db433fcd 100644
--- a/src/views/User/UserFriendsView.vue
+++ b/src/views/User/UserFriendsView.vue
@@ -1,376 +1,84 @@
 <template>
-  <!-- Refactor with a for-loop -->
     <div class="container">
         <h1>Your Friends</h1>
         <button class="btn btn-primary pull-right my-3" @click="addFriend">+ Add Friend</button>
         <div class="row">
-            <div class="col-lg-3">
+            <div class="col-lg-3" v-for="friend in friends" :key="friend.id">
                 <div class="card card-one">
                     <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
+                        <div v-if="friend.profileImage" class="avatar">
+                            <img :src="'http://localhost:8080/api/images/' + friend.profileImage" alt="">
                         </div>
-                    </div>
-                    <h3>Amillie Price</h3>
-                  <a href="#" @click="navigateToFriend(46)" class="btn  stretched-link"></a>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Victoria Fox</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Coray Shoe</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Christiano Mooray</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <div class="row">
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar4.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Lynda West</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Jayden G</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
+                        <div v-else class="avatar">
+                            <img :src="'../src/assets/userprofile.png'" alt="">
                         </div>
                     </div>
-                    <h3>Julia Ann</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Ava Ray</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Maria Shwenstiger</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Kate Perry</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
+                    <h3><a href="#" class="btn stretched-link" id="profileName" @click="navigateToFriend(friend.id)">{{ friend.firstName }}</a></h3>
+                    <div class="desc">{{ friend.firstName }} {{ friend.lastName }}</div>
                     <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
+                        <a class="text removeFriend" data-bs-toggle="collapse"
+                            :href="'#collapseExample' + friend.id" role="button" aria-expanded="false" :aria-controls="'collapseExample' + friend.id">
                             See more
                         </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar6.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Robart Gibbs</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
+                        <div class="collapse" :id="'collapseExample' + friend.id">
+                            <button class="btn btn-danger" @click="removeFriend(friend.id)">
+                                <h5><img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
                             </button>
                         </div>
                     </div>
                 </div>
             </div>
-            <div class="col-lg-3">
-                <div class="card card-one">
-                    <div class="header">
-                        <div class="avatar">
-                            <img src="https://bootdey.com/img/Content/avatar/avatar5.png" alt="">
-                        </div>
-                    </div>
-                    <h3>Anna Winslet</h3>
-                    <div class="desc">
-                        Lorem ipsum dolor sit amet, consectetur adipisicing elit et cupiditate deleniti.
-                    </div>
-                    <div class="contacts">
-                        <a class="text removeFriend" data-bs-toggle="collapse" href="#collapseExample" role="button"
-                            aria-expanded="false" aria-controls="collapseExample">
-                            See more
-                        </a>
-
-                        <div class="collapse" id="collapseExample">
-                            <button class="btn btn-danger">
-                               
-                                <h5> <img src="@/assets/icons/remove-white.svg" style="width: 30px"> Remove friend</h5>
-                            </button>
-                        </div>
-                    </div>
-                </div>
-
-            </div>
-            <nav aria-label="Page navigation example">
-                <ul class="pagination">
-                    <li class="page-item"><a class="page-link" href="#">Previous</a></li>
-                    <li class="page-item"><a class="page-link" href="#">1</a></li>
-                    <li class="page-item"><a class="page-link" href="#">2</a></li>
-                    <li class="page-item"><a class="page-link" href="#">3</a></li>
-                    <li class="page-item"><a class="page-link" href="#">Next</a></li>
-                </ul>
-            </nav>
         </div>
     </div>
 </template>
 
-<script setup lang="ts">
-import { useRouter, useRoute } from 'vue-router';
-import { ref, onMounted, computed } from "vue";
 
 
-import { useUserInfoStore } from '@/stores/UserStore';
-
-const userStore = useUserInfoStore();
+<script setup lang="ts">
+import { ref, onMounted } from 'vue';
+import { useRouter } from 'vue-router';
+import { FriendService } from '@/api';
+import type { UserDTO } from '@/api';
 
-const createdQuizzes = ref(1);
-const createdQuizzesIsEmpty = ref(null);
-const coAuthorQuizzes = ref(null);
-const coAuthorQuizzesIsEmpty = ref(null);
 const router = useRouter();
-
-let userid = ref("");
-
-async function fetchUserData() {
-
-}
+const friends = ref();
 
 function addFriend() {
     router.push('/add-friend');
 }
 
-// Define the navigateToQuiz method
-const navigateToFriend = (friendID :number) => {
-router.push('/profile/' + friendID)
+const navigateToFriend = (friendID: number) => {
+    router.push('/profile/' + friendID);
+};
+
+const removeFriend = async (friendID: number) => {
+    try {
+        // Attempt to delete the friend from the backend.
+        await FriendService.deleteFriendOrFriendRequest({ friendId: friendID });
+        // Update the friends list by filtering out the removed friend.
+        friends.value = friends.value.filter((friend: UserDTO) => friend.id !== friendID);
+    } catch (error) {
+        console.error('Failed to remove friend', error);
+    }
 };
 
-const removeFriend = (friendID: number) => {
 
+const setupFriends = async () => {
+    try {
+        const response = await FriendService.getFriends();
+        friends.value = response;
+        console.log(response);
+    } catch (error) {
+        console.error('Failed to fetch friends', error);
+    }
 };
 
-onMounted(fetchUserData);
+onMounted(() => {
+    setupFriends();
+});
 </script>
 
+
 <style scoped>
 body {
     background-color: #f0f6ff;
@@ -660,4 +368,10 @@ ul.friend-list .right p {
     align-items: center;
     flex-direction: column;
 }
+
+#profileName {
+    font-size: 1.5rem;
+    font-weight: 600;
+    width: 100%;
+}
 </style>
\ No newline at end of file