diff --git a/pom.xml b/pom.xml
index 4bde34817088839a2ab848ebdacf305485a104a1..bd71f56bf219d4d440046992c54261312c1124ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,6 +18,11 @@
 		<java.version>17</java.version>
 	</properties>
 	<dependencies>
+		<dependency>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-surefire-plugin</artifactId>
+			<version>3.0.0</version>
+		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-data-jpa</artifactId>
@@ -52,6 +57,11 @@
 			<artifactId>spring-security-test</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<scope>test</scope>
+		</dependency>
 
 		<dependency>
 			<groupId>com.google.code.gson</groupId>
@@ -79,12 +89,25 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-surefire-plugin</artifactId>
 				<version>3.0.0</version>
+				<dependencies>
+					<dependency>
+						<groupId>org.apache.maven.surefire</groupId>
+						<artifactId>surefire-junit4</artifactId>
+						<version>3.0.0</version>
+					</dependency>
+				</dependencies>
 			</plugin>
 
 			<plugin>
 				<groupId>org.jacoco</groupId>
 				<artifactId>jacoco-maven-plugin</artifactId>
 				<version>0.8.9</version>
+				<configuration>
+					<excludes>
+						<exclude>**/model/**</exclude>
+						<exclude>**/MatsvinnBackendApplication.class</exclude>
+					</excludes>
+				</configuration>
 				<executions>
 					<execution>
 						<goals>
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java
new file mode 100644
index 0000000000000000000000000000000000000000..9791ce98bad166a85b743aa14ee30f080b7945cc
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferenceController.java
@@ -0,0 +1,29 @@
+package edu.ntnu.idatt210602.matsvinnbackend.controller;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferenceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.server.ResponseStatusException;
+
+import java.util.List;
+
+/**
+ * Class FoodPreferenceController responsible for processing incoming REST API requests related to food preferences
+ */
+@RequestMapping("/foodpreferences")
+@RestController
+@CrossOrigin
+public class FoodPreferenceController {
+
+    @Autowired
+    FoodPreferenceService foodPreferenceService;
+
+    @GetMapping("")
+    @ResponseStatus(code = HttpStatus.OK)
+    public List<FoodPreference> getAllFoodPreferences() {
+        return foodPreferenceService.getAllFoodPreferences();
+    }
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
new file mode 100644
index 0000000000000000000000000000000000000000..2d7331d42f1184cabb874f122cda966a47b360ee
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreference.java
@@ -0,0 +1,28 @@
+package edu.ntnu.idatt210602.matsvinnbackend.model;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * Class FoodPreferences to represent a food preference e.g. vegan.
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Entity
+public class FoodPreference {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Getter
+    private Integer Id;
+
+    @Getter
+    @Setter
+    private String Type;
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..fcb41e5532e18e5347f1f18f93bcfc344454a2ec
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/repo/FoodPreferencesRepository.java
@@ -0,0 +1,13 @@
+package edu.ntnu.idatt210602.matsvinnbackend.repo;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Interface FoodPreferencesRepository to provide mechanisms for several operations on the FoodPreferences class
+ */
+@Repository
+public interface FoodPreferencesRepository extends JpaRepository<FoodPreference, Integer> {
+
+}
diff --git a/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java
new file mode 100644
index 0000000000000000000000000000000000000000..1301243dc94590f9b81dfcd6d15e42e77dca20fa
--- /dev/null
+++ b/src/main/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferenceService.java
@@ -0,0 +1,22 @@
+package edu.ntnu.idatt210602.matsvinnbackend.service;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Class FoodPreferenceService to provide business functionalities related to foodPreferences
+ */
+@Service
+public class FoodPreferenceService {
+
+    @Autowired
+    FoodPreferencesRepository foodPreferencesRepository;
+
+    public List<FoodPreference> getAllFoodPreferences() {
+        return foodPreferencesRepository.findAll();
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/MatsvinnBackendApplicationTests.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/MatsvinnBackendApplicationTests.java
index 9155c7886750853fecd661a89d7490b06212de59..7e35a14e2cae09984186fae027c7b83ed3fc4686 100644
--- a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/MatsvinnBackendApplicationTests.java
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/MatsvinnBackendApplicationTests.java
@@ -9,4 +9,5 @@ class MatsvinnBackendApplicationTests {
 	@Test
 	void contextLoads() {
 	}
+
 }
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..58966919956bf813efa8a6486fbaa64a35054d19
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/controller/FoodPreferencesControllerTest.java
@@ -0,0 +1,71 @@
+package edu.ntnu.idatt210602.matsvinnbackend.controller;
+
+import edu.ntnu.idatt210602.matsvinnbackend.controller.FoodPreferenceController;
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import edu.ntnu.idatt210602.matsvinnbackend.service.FoodPreferenceService;
+import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
+import org.springframework.test.web.servlet.MockMvc;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+@WebMvcTest(FoodPreferenceController.class)
+@AutoConfigureMockMvc(addFilters = false)
+public class FoodPreferencesControllerTest {
+
+    @Autowired
+    private MockMvc mvc;
+
+    @MockBean
+    private FoodPreferencesRepository foodPreferencesRepository;
+
+    @MockBean
+    private FoodPreferenceService foodPreferencesService;
+
+    @Autowired
+    FoodPreferenceController foodPreferenceController;
+
+    FoodPreference testPreference = new FoodPreference(null,"Vegan");
+    FoodPreference testPreference2 = new FoodPreference(null,"Vegetarian");
+
+    @BeforeEach
+    void setup() {
+        foodPreferencesRepository.deleteAll();
+    }
+
+    @Test
+    public void GetAllFoodPreferencesGivesOkStatusResponse() throws Exception {
+
+        this.mvc.perform(get("/foodpreferences")).andDo(print()).andExpect(status().isOk());
+        assertEquals(0, foodPreferenceController.getAllFoodPreferences().size());
+    }
+
+    @Test
+    public void getAllFoodPreferencesWhenSavedPreferencesReturnsAllSavedPreferences() {
+
+        List<FoodPreference> preferences = new ArrayList<>();
+        preferences.add(testPreference);
+        preferences.add(testPreference2);
+        foodPreferencesRepository.save(testPreference);
+        foodPreferencesRepository.save(testPreference2);
+        when(foodPreferenceController.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferenceController.getAllFoodPreferences());
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..5fc92e8d17b1ff3befb7557924e6646466c4f92c
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/model/FoodPreferenceTest.java
@@ -0,0 +1,34 @@
+package edu.ntnu.idatt210602.matsvinnbackend.model;
+
+
+import org.junit.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+public class FoodPreferenceTest {
+
+    @Test
+    public void WhenConstructingAnObjectItIsConstructed() {
+        FoodPreference foodPreference = new FoodPreference(null,"vegan");
+        assertEquals("vegan", foodPreference.getType());
+        assertNull(foodPreference.getId());
+
+        foodPreference.setType("vegetarian");
+        assertEquals("vegetarian", foodPreference.getType());
+    }
+
+    @Test
+    public void WhenUsingEmptyConstructorFieldsAreNull() {
+        FoodPreference foodPreference = new FoodPreference();
+        assertNull(foodPreference.getType());
+        assertNull(foodPreference.getId());
+    }
+}
diff --git a/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec0d6b1bcf9e54cdaaa765826dc6f259213fd591
--- /dev/null
+++ b/src/test/java/edu/ntnu/idatt210602/matsvinnbackend/service/FoodPreferencesServiceTest.java
@@ -0,0 +1,44 @@
+package edu.ntnu.idatt210602.matsvinnbackend.service;
+
+import edu.ntnu.idatt210602.matsvinnbackend.model.FoodPreference;
+import edu.ntnu.idatt210602.matsvinnbackend.repo.FoodPreferencesRepository;
+import org.junit.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.junit.jupiter.api.Assertions.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.mockito.Mockito.*;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
+public class FoodPreferencesServiceTest {
+
+    @Mock
+    private FoodPreferencesRepository foodPreferencesRepository;
+
+    @InjectMocks
+    FoodPreferenceService foodPreferenceService;
+
+    FoodPreference testPreference = new FoodPreference(null,"Vegan");
+    FoodPreference testPreference2 = new FoodPreference(null,"Vegetarian");
+
+    @Test
+    public void getAllPreferencesReturnsAllSavedPreferences() {
+        List<FoodPreference> preferences = new ArrayList<>();
+        preferences.add(testPreference);
+        preferences.add(testPreference2);
+        foodPreferencesRepository.save(testPreference);
+        foodPreferencesRepository.save(testPreference2);
+        when(foodPreferenceService.getAllFoodPreferences()).thenReturn(preferences);
+        assertEquals(preferences, foodPreferenceService.getAllFoodPreferences());
+    }
+}