diff --git a/package-lock.json b/package-lock.json
index 7204860453587a47cf0ccdc69d8af18e5f94e94d..7c4ac423cf43268ce48510841a9bdcd4477e08dc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
       "name": "trivio",
       "version": "0.0.0",
       "dependencies": {
+        "axios": "^1.6.8",
         "pinia": "^2.1.7",
         "vue": "^3.4.21",
         "vue-router": "^4.3.0"
@@ -2471,8 +2472,7 @@
     "node_modules/asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
-      "dev": true
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
     },
     "node_modules/at-least-node": {
       "version": "1.0.0",
@@ -2502,7 +2502,6 @@
       "version": "1.6.8",
       "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
       "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
-      "dev": true,
       "dependencies": {
         "follow-redirects": "^1.15.6",
         "form-data": "^4.0.0",
@@ -2513,7 +2512,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
       "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
-      "dev": true,
       "dependencies": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
@@ -2526,8 +2524,7 @@
     "node_modules/axios/node_modules/proxy-from-env": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
-      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
-      "dev": true
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
     },
     "node_modules/balanced-match": {
       "version": "1.0.2",
@@ -2897,7 +2894,6 @@
       "version": "1.0.8",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
       "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
       "dependencies": {
         "delayed-stream": "~1.0.0"
       },
@@ -3280,7 +3276,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
       "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
-      "dev": true,
       "engines": {
         "node": ">=0.4.0"
       }
@@ -4190,7 +4185,6 @@
       "version": "1.15.6",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
       "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
-      "dev": true,
       "funding": [
         {
           "type": "individual",
@@ -5487,7 +5481,6 @@
       "version": "1.52.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
       "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-      "dev": true,
       "engines": {
         "node": ">= 0.6"
       }
@@ -5496,7 +5489,6 @@
       "version": "2.1.35",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
       "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-      "dev": true,
       "dependencies": {
         "mime-db": "1.52.0"
       },
diff --git a/package.json b/package.json
index d6ecaae445254dd78beb022e85e072431b5e5270..4d5b3b003f0ebb28d921b92667a4d8f5a94250b8 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
     "format": "prettier --write src/"
   },
   "dependencies": {
+    "axios": "^1.6.8",
     "pinia": "^2.1.7",
     "vue": "^3.4.21",
     "vue-router": "^4.3.0"
diff --git a/src/components/TrivioCard.vue b/src/components/TrivioCard.vue
new file mode 100644
index 0000000000000000000000000000000000000000..2d66273868b8a970e4576848e90b80829b48c135
--- /dev/null
+++ b/src/components/TrivioCard.vue
@@ -0,0 +1,111 @@
+<script setup lang="ts">
+const props = defineProps({
+  title: String,
+  image: String,
+  numberOfQuestion: Number,
+  username: String,
+});
+</script>
+
+<template>
+
+
+  <div class="box">
+    <div class="quiz-img">
+      <img src="/src/components/icons/cat.png" alt="Quiz picture">
+    </div>
+    <div class="quiz-info">
+      <div class="title">{{ title }}</div>
+      <div class="under-title">
+        <div class="question">{{ numberOfQuestion }} questions</div>
+        <div class="difficulty">HARD</div>
+      </div>
+      <div class="user-info">
+        <img src="/src/assets/user.svg" alt="Profile picture">
+        <div class="user">{{ username }}</div>
+        <div class="rating">4.3</div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<style scoped>
+
+.box {
+  margin-top: 1em;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  width: 14em;
+  height: 18em;
+  background-color: white;
+  border-radius: 10%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  color: #343C6A;
+}
+.quiz-img {
+  width: 100%;
+  max-height: auto;
+  overflow: hidden;
+}
+
+.quiz-img img {
+  width: 100%;
+  height: auto;
+  object-fit: cover;
+  border-top-left-radius: 10%;
+  border-top-right-radius: 10%;
+}
+
+.quiz-info {
+  padding: 0.5em;
+  margin-bottom: auto;
+}
+
+.quiz-info img {
+  width: 1.5em;
+  border-radius: 50%;
+}
+
+.title {
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  font-size: 16px;
+}
+
+.question {
+  font-size: 13px;
+}
+
+.user-info {
+  display: flex;
+  align-items: center;
+  font-size: 12px;
+}
+
+.under-title {
+  display: flex;
+  align-items: center;
+}
+
+.rating {
+  width: 30px;
+  height: 30px;
+  background-color: #5E5CE5;
+  color: white;
+  border-radius: 50%;
+  text-align: center;
+  line-height: 30px;
+  font-size: 10px;
+  margin-left: auto;
+}
+
+.difficulty {
+  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
+  color: #5E5CE5;
+  font-size: 14px;
+  margin-left: auto;
+}
+</style>
diff --git a/src/views/mainpage/MyTriviosView.vue b/src/views/mainpage/MyTriviosView.vue
index 925650177203559ffb6e05bb1c34f65872952414..6d8d88b1913296ec358fda377307a3d39068d5d5 100644
--- a/src/views/mainpage/MyTriviosView.vue
+++ b/src/views/mainpage/MyTriviosView.vue
@@ -1,11 +1,52 @@
 <script setup lang="ts">
 
+import axios from 'axios';
+import { ref, onMounted } from 'vue';
+import TrivioCard from "@/components/TrivioCard.vue";
+
+
+const trivios = ref(null);
+const fetchTrivios = async () => {
+  try {
+    const response = await axios.get('http://localhost:8080/trivios'); // Adjust the API endpoint URL as needed
+    trivios.value = response.data;
+    console.log(response)// Assign the fetched data to the trivios variable
+    console.log(trivios.value)
+  } catch (error) {
+    console.error('Error fetching trivios:', error);
+  }
+};
+
+onMounted(fetchTrivios);
+
 </script>
 
 <template>
-  <div>This is the MyTrivios-View</div>
+<!--<TrivioCard-->
+<!--title="dogers" image="/src/assets/trivio.svg"></TrivioCard>-->
+
+  <div class="card-container">
+    <TrivioCard
+        v-for="(trivio, index) in trivios"
+        :key="index"
+        :title="trivio.title"
+        :image="trivio.image"
+        :username="trivio.user.username"
+        :number-of-question="trivio.questionList.length"
+    ></TrivioCard>
+  </div>
 </template>
 
 <style scoped>
+h1 {
+  color: #5E5CE5;
+  margin-top: 0.5em;
+}
+.card-container {
+  display: flex;
+  flex-wrap: wrap;
+  max-height: 400px; /* Adjust as needed */
+  column-gap: 20px;
+}
 
-</style>
\ No newline at end of file
+</style>