diff --git a/script/data.sql b/script/data.sql
new file mode 100644
index 0000000000000000000000000000000000000000..483e483a38185701d582aa478bc1a6e2c3f917f0
--- /dev/null
+++ b/script/data.sql
@@ -0,0 +1,489 @@
+INSERT INTO streak (streak_id, current_streak, current_streak_created_at, current_streak_updated_at, highest_streak, highest_streak_created_at, highest_streak_ended_at)  
+VALUES 
+(1, 10, '2024-04-16 15:00:00', '2024-04-16 15:00:03', 15, '2020-04-16 15:00:00', '2023-04-16 15:00:00'),
+(2, 8, '2024-04-17 10:30:00', '2024-04-17 10:30:03', 20, '2020-04-17 10:30:00', '2023-04-17 10:30:00'),
+(3, 7, '2024-04-18 08:45:00', '2024-04-18 08:45:03', 8, '2024-04-18 08:45:00', '2025-04-18 08:45:00'),
+(4, 5, '2024-04-19 12:15:00', '2024-04-19 12:15:03', 4, '2024-04-19 12:15:00', '2025-04-19 12:15:00'),
+(5, 8, '2024-04-20 17:20:00', '2024-04-20 17:20:03', 9, '2024-04-20 17:20:00', '2025-04-20 17:20:00'),
+(6, 12, '2024-04-21 09:00:00', '2024-04-21 09:00:03', 14, '2024-04-21 09:00:00', '2025-04-21 09:00:00'),
+(7, 9, '2024-04-22 11:45:00', '2024-04-22 11:45:03', 10, '2024-04-22 11:45:00', '2025-04-22 11:45:00'),
+(8, 6, '2024-04-23 14:30:00', '2024-04-23 14:30:03', 7, '2024-04-23 14:30:00', '2025-04-23 14:30:00'),
+(9, 4, '2024-04-24 16:20:00', '2024-04-24 16:20:03', 5, '2024-04-24 16:20:00', '2025-04-24 16:20:00'),
+(10, 11, '2024-04-25 19:00:00', '2024-04-25 19:00:03', 13, '2024-04-25 19:00:00', '2025-04-25 19:00:00'),
+(11, 8, '2024-04-26 08:30:00', '2024-04-26 08:30:03', 9, '2024-04-26 08:30:00', '2025-04-26 08:30:00'),
+(12, 5, '2024-04-27 10:15:00', '2024-04-27 10:15:03', 6, '2024-04-27 10:15:00', '2025-04-27 10:15:00'),
+(13, 9, '2024-04-28 12:45:00', '2024-04-28 12:45:03', 11, '2024-04-28 12:45:00', '2025-04-28 12:45:00'),
+(14, 7, '2024-04-29 15:00:00', '2024-04-29 15:00:03', 8, '2024-04-29 15:00:00', '2025-04-29 15:00:00'),
+(15, 3, '2024-04-30 17:30:00', '2024-04-30 17:30:03', 4, '2024-04-30 17:30:00', '2025-04-30 17:30:00'),
+(16, 6, '2024-05-01 19:00:00', '2024-05-01 19:00:03', 7, '2024-05-01 19:00:00', '2025-05-01 19:00:00'),
+(17, 8, '2024-05-02 08:00:00', '2024-05-02 08:00:03', 9, '2024-05-02 08:00:00', '2025-05-02 08:00:00'),
+(18, 5, '2024-05-03 10:00:00', '2024-05-03 10:00:03', 6, '2024-05-03 10:00:00', '2025-05-03 10:00:00'),
+(19, 7, '2024-05-04 12:00:00', '2024-05-04 12:00:03', 8, '2024-05-04 12:00:00', '2025-05-04 12:00:00'),
+(20, 9, '2024-05-05 14:00:00', '2024-05-05 14:00:03', 10, '2024-05-05 14:00:00', '2025-05-05 14:00:00');
+
+-- Inserting points
+INSERT INTO point (point_id, current_points, total_earned_points) 
+VALUES 
+(1, 120, 500), 
+(2, 150, 600),
+(3, 200, 700),
+(4, 180, 550),
+(5, 220, 800),
+(6, 160, 530),
+(7, 190, 620),
+(8, 250, 900),
+(9, 170, 480),
+(10, 210, 750),
+(11, 230, 850),
+(12, 270, 1000),
+(13, 240, 920),
+(14, 260, 980),
+(15, 280, 1050),
+(16, 300, 1200),
+(17, 320, 1350),
+(18, 340, 1500),
+(19, 360, 1650),
+(20, 380, 1800);
+
+-- Inserting bank profiles
+INSERT INTO bank_profile (bank_profile_id, ssn) VALUES
+-- SSN(Social security number):
+(1, 31125453913),
+(2, 31125451740),
+(3, 31125458990);
+
+-- Inserting bank accounts
+INSERT INTO account (bban, balance, bank_profile_id) VALUES
+-- BBAN(Basic Bank Account Number):
+
+-- Bank Profile 1:
+(12073650567, 100, 1),
+(12097256355, 500000, 1),
+(12032202452, 13000, 1),
+(12041281683, 19372, 1),
+
+-- Bank profile 2:
+(12086851618, 50000, 2),
+(12061174077, 3956, 2),
+
+-- Bank profile 3:
+(12093388613, 1004, 3),
+(12064516157, 2003, 3),
+(12056860272, 109, 3);
+
+-- Inserting items
+INSERT INTO item (item_id, price, image_id, item_name) VALUES 
+(1, 0, 1, 'Stacked Banner'),
+(2, 100, 2, 'Blob Banner'),
+(3, 500, 3, 'Layered Banner'),
+(4, 1000, 4, 'Stars Banner'),
+(5, 5000, 5, 'Steps Banner'),
+(6, 5000, 6, 'Waves Banner');
+
+-- Inserting Badges
+INSERT INTO badge (badge_id, badge_name, criteria, image_id) VALUES
+(1, 'Awesome Badge', 100, 7),
+(2, 'Super Cool Badge', 200, 8),
+(3, 'Epic Badge', 300, 9),
+(4, 'Radical Badge', 500, 10),
+(5, 'Amazing Badge', 800, 11),
+(6, 'Legendary Badge', 1200, 12),
+(7, 'Mega Badge', 2000, 13),
+(8, 'Ultra Badge', 3200, 14),
+(9, 'Extreme Badge', 5200, 15),
+(10, 'Ultimate Badge', 8400, 16);
+
+INSERT INTO badge_
+-- Inserting inventory
+INSERT INTO inventory (bought_at, item_id, user_id) 
+VALUES 
+(NOW(), 1, 1),
+(NOW(), 1, 2),
+(NOW(), 1, 3),
+(NOW(), 1, 4),
+(NOW(), 1, 5),
+(NOW(), 1, 6),
+(NOW(), 1, 7),
+(NOW(), 1, 8),
+(NOW(), 1, 9),
+(NOW(), 1, 10),
+(NOW(), 1, 11),
+(NOW(), 1, 12),
+(NOW(), 1, 13),
+(NOW(), 1, 14),
+(NOW(), 1, 15),
+(NOW(), 1, 16),
+(NOW(), 1, 17),
+(NOW(), 1, 18),
+(NOW(), 1, 19),
+(NOW(), 1, 20);
+
+INSERT INTO notification (notification_id, created_at, message, notification_type, unread, user_id)
+VALUES
+(1, '2024-05-2 08:00:00', 'You have received a new friend request', 'FRIEND_REQUEST' ,true, 1),
+(2, '2024-05-2 08:00:00', 'You have earned a new badge', 'BADGE', true, 1),
+(3, '2024-05-2 08:00:00', 'You have completed a new goal', 'COMPLETED_GOAL', false, 1);
+
+INSERT INTO configuration (configuration_id, commitment, experience) VALUES 
+(1, 'LITTLE', 'NONE'),
+(2, 'SOME', 'SOME'),
+(3, 'MUCH', 'EXPERT'),
+(4, 'LITTLE', 'EXPERT'),
+(5, 'MUCH', 'SOME'),
+(6, 'SOME', 'NONE'),
+(7, 'MUCH', 'SOME'),
+(8, 'LITTLE', 'SOME'),
+(9, 'SOME', 'EXPERT'),
+(10, 'LITTLE', 'NONE'),
+(11, 'MUCH', 'SOME'),
+(12, 'SOME', 'NONE'),
+(13, 'LITTLE', 'EXPERT'),
+(14, 'MUCH', 'EXPERT'),
+(15, 'SOME', 'SOME'),
+(16, 'MUCH', 'NONE'),
+(17, 'LITTLE', 'SOME'),
+(18, 'SOME', 'EXPERT'),
+(19, 'MUCH', 'NONE'),
+(20, 'LITTLE', 'SOME');
+
+-- For configuration_id = 1
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(1, 'NO_COFFEE'),
+(1, 'NO_CAR'),
+(1, 'SHORTER_SHOWER');
+
+-- For configuration_id = 2
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(2, 'SPEND_LESS_ON_FOOD'),
+(2, 'BUY_USED_CLOTHES'),
+(2, 'LESS_SHOPPING'),
+(2, 'DROP_SUBSCRIPTION');
+
+-- For configuration_id = 3
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(3, 'SELL_SOMETHING'),
+(3, 'BUY_USED'),
+(3, 'EAT_PACKED_LUNCH'),
+(3, 'STOP_SHOPPING'),
+(3, 'ZERO_SPENDING');
+
+-- For configuration_id = 4
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(4, 'RENT_YOUR_STUFF'),
+(4, 'MEATLESS'),
+(4, 'SCREEN_TIME_LIMIT'),
+(4, 'UNPLUGGED_ENTERTAINMENT');
+
+-- For configuration_id = 5
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(5, 'SAVE_ON_UTILITIES'),
+(5, 'RECYCLE'),
+(5, 'CUT_CABLE'),
+(5, 'PUBLIC_TRANSPORTATION');
+
+-- For configuration_id = 6
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(6, 'REDUCE_FAST_FOOD'),
+(6, 'THRIFT_SHOPPING'),
+(6, 'LIMIT_GROCERY_SHOPPING'),
+(6, 'CANCEL_SUBSCRIPTIONS');
+
+-- For configuration_id = 7
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(7, 'SELL_UNWANTED_ITEMS'),
+(7, 'BUY_SECOND_HAND'),
+(7, 'PACK_LUNCH'),
+(7, 'MINIMAL_SHOPPING'),
+(7, 'NO_SPENDING');
+
+-- For configuration_id = 8
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(8, 'RENT_OUT_YOUR_POSSESSIONS'),
+(8, 'VEGETARIAN_DIET'),
+(8, 'LIMIT_SCREEN_TIME'),
+(8, 'UNPLUGGED_ENTERTAINMENT');
+
+-- For configuration_id = 9
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(9, 'SHARE_EXPENSES'),
+(9, 'BUY_USED_ITEMS'),
+(9, 'BRING_LUNCH'),
+(9, 'MINIMIZE_SHOPPING');
+
+-- For configuration_id = 10
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(10, 'NO_COFFEE'),
+(10, 'NO_CAR'),
+(10, 'SHORTER_SHOWER');
+
+-- For configuration_id = 11
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(11, 'SPEND_LESS_ON_FOOD'),
+(11, 'BUY_USED_CLOTHES'),
+(11, 'LESS_SHOPPING'),
+(11, 'DROP_SUBSCRIPTION');
+
+-- For configuration_id = 12
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(12, 'SELL_SOMETHING'),
+(12, 'BUY_USED'),
+(12, 'EAT_PACKED_LUNCH'),
+(12, 'STOP_SHOPPING'),
+(12, 'ZERO_SPENDING');
+
+-- For configuration_id = 13
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(13, 'RENT_YOUR_STUFF'),
+(13, 'MEATLESS'),
+(13, 'SCREEN_TIME_LIMIT'),
+(13, 'UNPLUGGED_ENTERTAINMENT');
+
+-- For configuration_id = 14
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(14, 'SAVE_ON_UTILITIES'),
+(14, 'RECYCLE'),
+(14, 'CUT_CABLE'),
+(14, 'PUBLIC_TRANSPORTATION');
+
+-- For configuration_id = 15
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(15, 'REDUCE_FAST_FOOD'),
+(15, 'THRIFT_SHOPPING'),
+(15, 'LIMIT_GROCERY_SHOPPING'),
+(15, 'CANCEL_SUBSCRIPTIONS');
+
+-- For configuration_id = 16
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(16, 'SELL_UNWANTED_ITEMS'),
+(16, 'BUY_SECOND_HAND'),
+(16, 'PACK_LUNCH'),
+(16, 'MINIMAL_SHOPPING'),
+(16, 'NO_SPENDING');
+
+-- For configuration_id = 17
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(17, 'RENT_OUT_YOUR_POSSESSIONS'),
+(17, 'VEGETARIAN_DIET'),
+(17, 'LIMIT_SCREEN_TIME'),
+(17, 'UNPLUGGED_ENTERTAINMENT');
+
+-- For configuration_id = 18
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(18, 'SHARE_EXPENSES'),
+(18, 'BUY_USED_ITEMS'),
+(18, 'BRING_LUNCH'),
+(18, 'MINIMIZE_SHOPPING');
+
+-- For configuration_id = 19
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(19, 'NO_COFFEE'),
+(19, 'NO_CAR'),
+(19, 'SHORTER_SHOWER');
+
+-- For configuration_id = 20
+INSERT INTO configuration_challenges (configuration_id, challenge_type) VALUES 
+(20, 'SPEND_LESS_ON_FOOD'),
+(20, 'BUY_USED_CLOTHES'),
+(20, 'LESS_SHOPPING'),
+(20, 'DROP_SUBSCRIPTION');
+
+-- (PASSWORD = John1)
+INSERT INTO user (user_id, bankid_sub, banner_image, created_at, email, first_name, last_name, password, profile_image, role, subscription_level, configuration_id, point_id, streak_id, checking_account_bban, savings_account_bban) 
+VALUES 
+(1, NULL, NULL, NOW(), 'john-doe@example.com', 'John', 'Doe', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 1, 1, 1, 12073650567, 12097256355),
+(2, NULL, NULL, NOW(), 'jane-smith@example.com', 'Jane', 'Smith', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 2, 2, 2, 12073650567, 12097256355),
+(3, NULL, NULL, NOW(), 'david-jones@example.com', 'David', 'Jones', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 3, 3, 3, 12073650567, 12097256355),
+(4, NULL, NULL, NOW(), 'emily-johnson@example.com', 'Emily', 'Johnson', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 4, 4, 4, 12073650567, 12097256355),
+(5, NULL, NULL, NOW(), 'michael-brown@example.com', 'Michael', 'Brown', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 5, 5, 5, 12073650567, 12097256355),
+(6, NULL, NULL, NOW(), 'olivia-williams@example.com', 'Olivia', 'Williams', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 6, 6, 6, 12073650567, 12097256355),
+(7, NULL, NULL, NOW(), 'william-jackson@example.com', 'William', 'Jackson', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 7, 7, 7, 12073650567, 12097256355),
+(8, NULL, NULL, NOW(), 'ava-taylor@example.com', 'Ava', 'Taylor', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 8, 8, 8, 12073650567, 12097256355),
+(9, NULL, NULL, NOW(), 'james-anderson@example.com', 'James', 'Anderson', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 9, 9, 9, 12073650567, 12097256355),
+(10, NULL, NULL, NOW(), 'sophia-martinez@example.com', 'Sophia', 'Martinez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 10, 10, 10, 12073650567, 12097256355),
+(11, NULL, NULL, NOW(), 'alexandra-thomas@example.com', 'Alexandra', 'Thomas', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 11, 11, 11, 12073650567, 12097256355),
+(12, NULL, NULL, NOW(), 'ethan-rodriguez@example.com', 'Ethan', 'Rodriguez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 12, 12, 12, 12073650567, 12097256355),
+(13, NULL, NULL, NOW(), 'isabella-lopez@example.com', 'Isabella', 'Lopez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 13, 13, 13, 12073650567, 12097256355),
+(14, NULL, NULL, NOW(), 'noah-gonzalez@example.com', 'Noah', 'Gonzalez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 14, 14, 14, 12073650567, 12097256355),
+(15, NULL, NULL, NOW(), 'mia-fernandez@example.com', 'Mia', 'Fernandez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 15, 15, 15, 12073650567, 12097256355),
+(16, NULL, NULL, NOW(), 'liam-gomez@example.com', 'Liam', 'Gomez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 16, 16, 16, 12073650567, 12097256355),
+(17, NULL, NULL, NOW(), 'emily-perez@example.com', 'Emily', 'Perez', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 17, 17, 17, 12073650567, 12097256355),
+(18, NULL, NULL, NOW(), 'logan-morales@example.com', 'Logan', 'Morales', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 18, 18, 18, 12073650567, 12097256355),
+(19, NULL, NULL, NOW(), 'amelia-rivera@example.com', 'Amelia', 'Rivera', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 19, 19, 19, 12073650567, 12097256355),
+(20, NULL, NULL, NOW(), 'ethan-cook@example.com', 'Ethan', 'Cook', '$2a$10$j3.TmUIfByIa8ZfDksVb0OFzyTxxIo1jgCx59oO0rX67b7IB8cStq', NULL, 'USER', 'DEFAULT', 20, 20, 20, 12073650567, 12097256355);
+
+-- Inserting friends
+INSERT INTO friend (user_id, friend_id, pending, created_at) 
+VALUES 
+(1, 2, true, NOW()),
+(1, 3, false, NOW()),
+(1, 4, false, NOW()),
+(1, 6, true, NOW()),
+(1, 7, false, NOW()),
+(1, 9, true, NOW()),
+(1, 10, false, NOW()),
+(1, 12, false, NOW()),
+(1, 14, false, NOW()),
+(1, 16, false, NOW()),
+(1, 17, true, NOW()),
+(1, 18, false, NOW()),
+(1, 19, false, NOW()),
+(1, 20, false, NOW()),
+(2, 3, false, NOW()),
+(2, 4, false, NOW()),
+(2, 5, false, NOW()),
+(2, 7, false, NOW()),
+(2, 8, false, NOW()),
+(2, 10, false, NOW()),
+(2, 11, true, NOW()),
+(2, 12, false, NOW()),
+(2, 13, false, NOW()),
+(2, 14, true, NOW()),
+(2, 15, false, NOW()),
+(2, 16, false, NOW()),
+(2, 17, false, NOW()),
+(2, 19, false, NOW()),
+(2, 20, false, NOW()),
+(3, 4, false, NOW()),
+(3, 6, true, NOW()),
+(3, 7, false, NOW()),
+(3, 8, false, NOW()),
+(3, 10, false, NOW()),
+(3, 11, false, NOW()),
+(3, 12, false, NOW()),
+(3, 14, false, NOW()),
+(3, 15, false, NOW()),
+(3, 17, false, NOW()),
+(3, 19, false, NOW()),
+(3, 20, false, NOW()),
+(4, 6, false, NOW()),
+(4, 7, false, NOW()),
+(4, 8, true, NOW()),
+(4, 9, false, NOW()),
+(4, 10, false, NOW()),
+(4, 12, false, NOW()),
+(4, 13, true, NOW()),
+(4, 14, false, NOW()),
+(4, 15, false, NOW()),
+(4, 17, false, NOW()),
+(4, 18, false, NOW()),
+(4, 19, false, NOW()),
+(4, 20, false, NOW()),
+(5, 6, false, NOW()),
+(5, 7, false, NOW()),
+(5, 8, true, NOW()),
+(5, 9, false, NOW()),
+(5, 10, false, NOW()),
+(5, 11, true, NOW()),
+(5, 13, true, NOW()),
+(5, 14, false, NOW()),
+(5, 17, false, NOW()),
+(5, 18, false, NOW()),
+(5, 19, false, NOW()),
+(5, 20, false, NOW()),
+(6, 7, false, NOW()),
+(6, 8, true, NOW()),
+(6, 9, false, NOW()),
+(6, 11, true, NOW()),
+(6, 12, false, NOW()),
+(6, 13, false, NOW()),
+(6, 14, false, NOW()),
+(6, 15, false, NOW()),
+(6, 16, false, NOW()),
+(6, 17, true, NOW()),
+(6, 18, false, NOW()),
+(6, 19, false, NOW()),
+(6, 20, false, NOW()),
+(7, 8, false, NOW()),
+(7, 9, false, NOW()),
+(7, 10, false, NOW()),
+(7, 11, false, NOW()),
+(7, 13, false, NOW()),
+(7, 15, false, NOW()),
+(7, 16, false, NOW()),
+(7, 17, false, NOW()),
+(7, 18, false, NOW()),
+(7, 19, false, NOW()),
+(7, 20, true, NOW()),
+(8, 9, false, NOW()),
+(8, 10, false, NOW()),
+(8, 11, false, NOW()),
+(8, 12, false, NOW()),
+(8, 13, true, NOW()),
+(8, 14, true, NOW()),
+(8, 15, false, NOW()),
+(8, 17, false, NOW()),
+(8, 19, false, NOW()),
+(8, 20, false, NOW()),
+(9, 10, false, NOW()),
+(9, 11, false, NOW()),
+(9, 13, true, NOW()),
+(9, 14, false, NOW()),
+(9, 15, true, NOW()),
+(9, 17, false, NOW()),
+(9, 18, false, NOW()),
+(9, 19, false, NOW()),
+(9, 20, true, NOW()),
+(10, 11, true, NOW()),
+(10, 12, false, NOW()),
+(10, 13, false, NOW()),
+(10, 14, false, NOW()),
+(10, 15, false, NOW()),
+(10, 16, true, NOW()),
+(10, 17, false, NOW()),
+(10, 18, false, NOW()),
+(10, 19, false, NOW()),
+(11, 12, false, NOW()),
+(11, 13, false, NOW()),
+(11, 14, false, NOW()),
+(11, 15, false, NOW()),
+(11, 16, true, NOW()),
+(11, 17, false, NOW()),
+(11, 18, true, NOW()),
+(11, 19, false, NOW()),
+(11, 20, false, NOW()),
+(12, 14, true, NOW()),
+(12, 15, false, NOW()),
+(12, 16, true, NOW()),
+(12, 17, false, NOW()),
+(12, 18, false, NOW()),
+(12, 19, false, NOW()),
+(12, 20, false, NOW()),
+(13, 14, false, NOW()),
+(13, 15, true, NOW()),
+(13, 16, true, NOW()),
+(13, 17, false, NOW()),
+(13, 18, false, NOW()),
+(13, 19, false, NOW()),
+(14, 15, false, NOW()),
+(14, 16, false, NOW()),
+(14, 17, true, NOW()),
+(14, 19, true, NOW()),
+(14, 20, false, NOW()),
+(15, 17, false, NOW()),
+(15, 18, false, NOW()),
+(15, 19, true, NOW()),
+(15, 20, false, NOW()),
+(16, 17, true, NOW()),
+(16, 19, false, NOW()),
+(16, 20, false, NOW()),
+(17, 18, false, NOW()),
+(17, 19, false, NOW()),
+(17, 20, false, NOW()),
+(18, 20, false, NOW()),
+(19, 20, true, NOW());
+
+INSERT INTO challenge_template(challenge_template_id, challenge_name, challenge_text, challenge_amount, challenge_type) 
+VALUES 
+(1, 'Kjøp billig kaffe', 'Spar {unit_amount} hver gang du kjøper kaffe ved å velge en billigere variant. Totalt {checkDays} kjøp billig kaffe over en periode på {totalDays} dager for å spare {total_amount} kr.', 20, 'NO_COFFEE'), 
+(2, 'Selg ubrukte ting', 'Selg ting som du ikke har brukt på ett år. Tjen {unit_amount} kroner {checkDays} ganger for å tjene på ubrukte ting. Gjennom en periode på {totalDays} dager sparer du {total_amount} kroner.', 25, 'SELL_SOMETHING'), 
+(3, 'Lag hjemmelaget lunsj', 'Spar {unit_amount} hver gang du lager lunsj hjemme og spar totalt {total_amount} kroner ved å ikke kjøpe lunsj {checkDays} ganger over en periode på {totalDays} dager.', 35, 'EAT_PACKED_LUNCH'), 
+(4, 'Dusj kortere', 'Spar {unit_amount} hver gang du dusjer kortere {checkDays} ganger og spar totalt {total_amount} kroner over en periode på {totalDays} dager.', 15, 'SHORTER_SHOWER'), 
+(5, 'Spis vegetar', 'Din utfordring er å spare {unit_amount} kroner ved å spise vegetar {checkDays} ganger og spar totalt {total_amount} kr ved å lage vegetariske retter over {totalDays} dager.', 50, 'MEATLESS'), 
+(6, 'Kjøp bruktvarer', 'Utfordre deg selv med å kjøpe brukte varer hos din bruktleverandør og spar {unit_amount} kroner {checkDays} ganger og spar totalt {total_amount} over {totalDays} dager.', 40, 'BUY_USED'), 
+(7, 'Bruk alternative transportmidler', 'Ikke bruk bilen, bruk heller billigere transportmidler som sykling, gåing eller buss {checkDays} ganger og spar {unit_amount} kroner. Dette gjøres over {totalDays} dager og kan spare {total_amount} kroner.', 40, 'NO_CAR'), 
+(8, 'Lag kaffe hjemme', 'Hvis du velger å lage kaffe hjemme i stedet for å kjøpe det ute, kan du spare {unit_amount} kr. Gjør dette {checkDays} ganger over en periode på {totalDays} dager for å spare {total_amount} kr.', 30, 'NO_COFFEE'), 
+(9, 'Ta kortere dusjer', 'Lange dusjer krever mye vann, og mye vann koster mye penger. Hvis du bruker 10 minutter per dusj, kan du spare {unit_amount} kr. Ta kortere dusjer {checkDays} ganger over en periode på {totalDays} dager for å spare {total_amount} kr.', 30, 'SHORTER_SHOWER'), 
+(10, 'Kjøp brukte klær', 'Kjøp klær fra bruktbutikk for å spare penger. Hver gang du kjøper et nytt plagg, kan du spare {unit_amount} kr. Gjør dette {checkDays} ganger over en periode på {totalDays} dager for å spare {total_amount} kr.', 230, 'BUY_USED_CLOTHES'), 
+(11, 'Kjøp mindre klær', 'Slutt å bruk penger på klær, du har nok av det. Hver gang du kjøper klær, kan du spare {unit_amount} kr ved å heller ikke kjøpe dem. Du skal ikke kjøpe klær {checkAmount} ganger i løpet av {totalDays} dager for å spare {total_amount} kr.', 600, 'LESS_SHOPPING'), 
+(12, 'Kjøp billigere mat', 'I stedet for å bruke penger på dyre matvarer kan du gå over til billigere varianter, for eksempel First Price, Prima eller Extra. Kjøp billigere mat {checkAmount} ganger i løpet av {totalDays} dager for å spare {total_amount} kr.', 100, 'SPEND_LESS_ON_FOOD'), 
+(13, 'Kjøp utgått mat', 'Bruk tjenester som "Too Good To Go" for å kjøpe mat som ellers ville blitt kastet. Spar {unit_amount} hver gang du bruker "Too Good To Go". Bruk "Too Good To Go" {checkDays} ganger over en periode på {totalDays} dager for å spare {total_amount} kr.', 80, 'SPEND_LESS_ON_FOOD');
\ No newline at end of file
diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java b/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
index 35a8e39ec8bcdc41e7d72f540943e25c4cf54d6a..46b709d10cdc8bafcd66f651d7854910477cccb5 100644
--- a/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
+++ b/src/main/java/no/ntnu/idi/stud/savingsapp/controller/user/UserController.java
@@ -228,6 +228,7 @@ public class UserController {
           @PathVariable String searchTerm,
           @PathVariable @Enumerator(value = SearchFilter.class,
           message = "Invalid filter") String filter) {
+          log.info("[UserController:getUsersByNameAndFilter] searchTerm: {}, filter: {}", searchTerm, filter);
           List<User> users = userService.getUsersByNameAndFilter(identity.getId(), searchTerm, SearchFilter.valueOf(filter));
           List<UserDTO> userDTOs = new ArrayList<>();
           for(User user : users) {
diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/model/user/SearchFilter.java b/src/main/java/no/ntnu/idi/stud/savingsapp/model/user/SearchFilter.java
index 773bfed12b673b8ec3441efedae95c9b3b4626e1..377ca799162e171af43a2b2062aa4d10d81f4c48 100644
--- a/src/main/java/no/ntnu/idi/stud/savingsapp/model/user/SearchFilter.java
+++ b/src/main/java/no/ntnu/idi/stud/savingsapp/model/user/SearchFilter.java
@@ -5,4 +5,5 @@ package no.ntnu.idi.stud.savingsapp.model.user;
  */
 public enum SearchFilter {
     NON_FRIENDS,
+    FRIENDS
 }
diff --git a/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java b/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
index ce8c227673f1f9d0ebc35f24e8112fc000cac2ed..d80a464ab9b296b2ffcf73a968af4a2d38bbf6f3 100644
--- a/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
+++ b/src/main/java/no/ntnu/idi/stud/savingsapp/service/impl/UserServiceImpl.java
@@ -51,6 +51,7 @@ import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
 import java.util.Collections;
+import java.util.Iterator;
 
 /**
  * Implementation of the UserService interface for user-related operations.
@@ -410,12 +411,23 @@ public class UserServiceImpl implements UserService {
   public List<User> getUsersByNameAndFilter(Long userId, String searchTerm, SearchFilter filter) {
       List<User> users = userRepository.findUsersByName(searchTerm);
       users.removeIf(user -> user.getId().equals(userId));
+      List<User> friends = new ArrayList<>();
       switch (filter) {
           case NON_FRIENDS:
-              List<User> friends = getFriends(userId);
+              friends = getFriends(userId);
               users.removeAll(friends);
               break;
-      }
+          case FRIENDS:
+              friends = getFriends(userId);
+              Iterator<User> iterator = users.iterator();
+              while (iterator.hasNext()) {
+                  User user = iterator.next();
+                  if (!friends.contains(user)) {
+                      iterator.remove();
+                  }
+              }
+              break;
+      } 
       return users;
   }