diff --git a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/controller/QuestionController.java b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/controller/QuestionController.java
index ca898d9291f07d55c57296affce29b74fa69cd37..736fb1a311a70b560bcfa99db90f3b780a1730f6 100644
--- a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/controller/QuestionController.java
+++ b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/controller/QuestionController.java
@@ -4,7 +4,9 @@ import edu.ntnu.idatt2105.dto.QuestionDTO;
 import edu.ntnu.idatt2105.model.Question;
 import edu.ntnu.idatt2105.service.QuestionService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.server.ResponseStatusException;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -71,6 +73,7 @@ public class QuestionController {
     );
   }
 
+
   /**
    * Endpoint for deleting a question by ID.
    *
@@ -88,18 +91,18 @@ public class QuestionController {
    * @return A list of question DTOs for the quiz.
    */
   @GetMapping("/allQuestionsToAQuiz/{quizId}")
-    public List<QuestionDTO> getAllQuestionsToAQuiz(@PathVariable Integer quizId) {
-        List<Question> questions = questionService.findAllQuestionsToAQuiz(quizId);
-        return questions.stream()
-                .map(question -> new QuestionDTO(
-                        question.getId(),
-                        question.getQuestionText(),
-                        question.getType(),
-                        question.getAnswer(),
-                        question.getOptionsList(),
-                        question.getScore(),
-                        question.getQuiz().getId()
-                ))
-                .collect(Collectors.toList());
-    }
+  public List<QuestionDTO> getAllQuestionsToAQuiz(@PathVariable Integer quizId) {
+    List<Question> questions = questionService.findAllQuestionsToAQuiz(quizId);
+    return questions.stream()
+            .map(question -> new QuestionDTO(
+                    question.getId(),
+                    question.getQuestionText(),
+                    question.getType(),
+                    question.getAnswer(),
+                    question.getOptionsList(),
+                    question.getScore(),
+                    question.getQuiz().getId()
+            ))
+            .collect(Collectors.toList());
+  }
 }
diff --git a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/dto/QuestionDTO.java b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/dto/QuestionDTO.java
index 11dda225b5ba33ed1539433e4acc15d8102ce2a4..266c82d4c3d8903c2285a8f0e10e1d50d2f921c2 100644
--- a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/dto/QuestionDTO.java
+++ b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/dto/QuestionDTO.java
@@ -47,6 +47,7 @@ public class QuestionDTO {
     this.quizId = quizId;
   }
 
+
   /**
    * Get the ID of the question.
    *
diff --git a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/service/QuestionService.java b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/service/QuestionService.java
index 11b481f65d1014cca88c44d6b6aa17a3998be1f5..ed995fecf94d02251e22471a4ed29a64afbedbba 100644
--- a/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/service/QuestionService.java
+++ b/FullstackProsjekt/src/backend/main/java/edu/ntnu/idatt2105/service/QuestionService.java
@@ -5,6 +5,7 @@ import edu.ntnu.idatt2105.model.Question;
 import edu.ntnu.idatt2105.model.QuestionType;
 import edu.ntnu.idatt2105.repository.QuestionRepository;
 import edu.ntnu.idatt2105.repository.QuizRepository;
+import jakarta.persistence.EntityNotFoundException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -41,6 +42,7 @@ public class QuestionService {
      */
     @Transactional
     public Question createOrUpdateQuestion(QuestionDTO questionDTO) {
+
         Question question;
         if (questionDTO.getId() != null) {
             Optional<Question> optionalQuestion = questionRepository.findById(questionDTO.getId());
@@ -66,6 +68,7 @@ public class QuestionService {
         question.setScore(questionDTO.getScore());
         question.setQuiz(quizRepository.findById(questionDTO.getQuizId()).orElse(null));
 
+
         return questionRepository.save(question);
     }
 
diff --git a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/service/QuestionServiceTest.java b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/service/QuestionServiceTest.java
index 62b4fc08b2d073dd631c4da1e1a4092f28e904f8..d9e0adcb9614b4c782a3152a92887289887a7ac8 100644
--- a/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/service/QuestionServiceTest.java
+++ b/FullstackProsjekt/src/backend/test/java/edu/ntnu/idatt2105/service/QuestionServiceTest.java
@@ -177,3 +177,4 @@ class QuestionServiceTest {
 
 
 }
+
diff --git a/FullstackProsjekt/src/frontend/src/api.js b/FullstackProsjekt/src/frontend/src/api.js
index 99fcfddd722f411deba4aa403af4ddef38902548..82831c5921781ba6d3d74681f834800db527c57f 100644
--- a/FullstackProsjekt/src/frontend/src/api.js
+++ b/FullstackProsjekt/src/frontend/src/api.js
@@ -1,6 +1,19 @@
 import axios from 'axios';
+import {getToken} from "@/tokenController.js";
 
 export const apiClient = axios.create({
     baseURL: 'http://localhost:8080/api',
     //TODO: set api URL
+});
+
+apiClient.interceptors.request.use(
+    (config) => {
+        const token = getToken();
+        if(token) {
+            config.headers['Authorization'] = `Bearer ${token}`;
+        }
+        return config;
+    },
+    (error) => {
+    return Promise.reject(error);
 });
\ No newline at end of file
diff --git a/FullstackProsjekt/src/frontend/src/assets/axios.js b/FullstackProsjekt/src/frontend/src/assets/axios.js
index 686b75b8dccdc5ea35b8c11e585a292f1b4dff2f..7912f135ffb8501f365945d250e6d0228bdc9d10 100644
--- a/FullstackProsjekt/src/frontend/src/assets/axios.js
+++ b/FullstackProsjekt/src/frontend/src/assets/axios.js
@@ -1,3 +1,7 @@
 import axios from "axios";
 
 axios.defaults.baseURL= 'http://localhost:5173/';
+
+//axios.defaults.headers.common['Authorization'] = 'Bearer' + getToken();
+
+
diff --git a/FullstackProsjekt/src/frontend/src/components/shared/EditQuestionModel.vue b/FullstackProsjekt/src/frontend/src/components/shared/EditQuestionModel.vue
index 5f048c305df1e24654d1f4c1282b4189b5066f43..99730a1bcda213b25fddc48680a43129e1abace3 100644
--- a/FullstackProsjekt/src/frontend/src/components/shared/EditQuestionModel.vue
+++ b/FullstackProsjekt/src/frontend/src/components/shared/EditQuestionModel.vue
@@ -1,4 +1,5 @@
 <script>
+/*
 import {apiClient} from "@/api.js";
 export default {
   props: {
@@ -21,6 +22,7 @@ export default {
     }
   },
   beforeMount() {
+    //console.log("before mount:" + this.questionId);
     this.getQuestion(this.questionId);
     this.findCorrectAnswerIndex();
   },
@@ -28,11 +30,11 @@ export default {
     getQuestion(questionId) {
       console.log('Fetching question: ', questionId);
       try {
-        apiClient.get('/questions/get/' + this.questionId).then(response => {
+        apiClient.get('/questions/get/' + questionId).then(response => {
           this.question = response.data;
           this.quizId = response.data.quizId;
-          this.questionText = response.data.id;
-          this.answers = JSON.parse(response.data.options);
+          this.questionText = response.data.questionText;
+          this.answers = response.data.options;
           this.correctAnswer = response.data.answer;
           this.type = response.data.type;
           this.score = response.data.score;
@@ -78,8 +80,121 @@ export default {
     }
   }
 }
+*/
+
+import {apiClient} from "@/api.js";
+export default {
+  props: {
+    quizId: {
+      type: Number,
+      required: true
+    },
+    questionId: {
+      type: Number,
+      required: true
+    }
+  },
+  data() {
+    return {
+      questionText: '',
+      answers: [],
+      correctAnswerIndex: 0,
+      type: 'MULTIPLE_CHOICE',
+      score: 0,
+      correctAnswer: null,
+      errorMsg: ''
+    }
+  },
+  beforeMount() {
+    this.getQuestionInfo(this.questionId);
+  },
+  methods: {
+    async getQuestionInfo(questionId) {
+      try {
+        await apiClient.get('/questions/get/' + questionId).then(response => {
+          this.questionText = response.data.questionText;
+          this.answers = response.data.options;
+          this.correctAnswer = response.data.answer;
+          this.score = response.data.score;
+          this.type = response.data.type;
+        })
+      }catch (error) {
+        console.log("Edit question error: " + error);
+        this.errorMsg = 'Error retrieving question';
+      }
+    },
+    async handleSubmit() {
+      try {
+        await apiClient.post('/questions/save', {
+          //TODO: add questionID
+          questionText: this.questionText,
+          type: this.type,
+          answer: this.correctAnswer.text,
+          options: this.answers.map(answer => answer.text),
+          score: this.score,
+          quizId: this.quizId,
+        })
+        this.$emit('close');
+      } catch (error) {
+        console.log("error: " + error);
+        this.errorMsg = 'Error submitting question';
+      }
+    },
+    newAnswer() {
+      this.answers.push({ text: ''});
+    },
+    selectOption(option) {
+      this.correctAnswer = option;
+      console.log(this.correctAnswer);
+    },
+  }
+}
+
+
+
 </script>
+<template>
+  <div class="modal-overlay" >
+    <div @click.stop class="modal-mask">
+      <div class="modal-container">
+        <form @submit.prevent="handleSubmit">
+          <div class="question-title">
+            <h3>Question:</h3>
+            <input v-model="questionText" placeholder="Question">
+
+            <label>Score:</label>
+            <input type="number" id="scoreInput" v-model="score">
+          </div>
+          <div class="modal-body">
+            <table class="table">
+              <thead>
+              <tr>
+                <th scope="col">Answer</th>
+                <th scope="col">Correct</th>
+              </tr>
+              </thead>
+              <tbody>
+              <tr v-for="(answer, index) in answers">
+                <td><input type="text" v-model="answer.text"></td>
+                <td>
+                  <input type="radio" :id="index" :value="answer" v-model="correctAnswerIndex"
+                         :checked="answer === correctAnswer" @change="selectOption(answer)">
+                </td>
+              </tr>
+              </tbody>
+            </table>
+          </div>
+          <div class="modal-footer">
+            <button class="edit-btn" @click="newAnswer">Add answer</button>
+            <button class="modal-default-button" type="submit">SUBMIT</button>
+          </div>
+        </form>
 
+      </div>
+    </div>
+  </div>
+</template>
+<!--
 <template>
   <div class="modal-overlay" @click="closeModal">
     <div @click.stop class="modal-mask">
@@ -93,11 +208,12 @@ export default {
             <label>Score:</label>
             <input type="number" id="scoreInput" v-model="score">
           </div>
-          <div class="modal-body">
+          <div class="modal-body">-->
             <!--
             <AnswerCard answer-id="answerCard" v-for="answer in answers"
                         :key="answer.id" :answerId="answer.id" :answer="answer.answer" :correct="answer.correct"/>
             -->
+<!--
             <table class="table">
               <thead>
               <tr>
@@ -124,7 +240,76 @@ export default {
       </div>
     </div>
   </div>
-</template>
+
+  <div class="modal-overlay" @click="closeModal">
+    <div @click.stop class="modal-mask">
+
+      <div class="modal-container">
+        <div class="question-title">
+          <h3>Question: </h3>
+          <input v-model="questionText" placeholder="Type your question here">
+        </div>
+
+        <div class="modal-body">
+          <table class="table">
+            <thead>
+            <tr>
+              <th scope="col">#</th>
+              <th scope="col">Answer</th>
+              <th scope="col">Correct ?</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr v-for="answer in answers">
+              <th scope="row">{{answer.answer}}</th>
+              <td>
+                <input type="text" v-model="answer.answer" id="questionInput">
+              </td>
+              <td>
+                <input :checked="answer.correct_answer === 1" class="form-check-input" :value="answer.id" @change="handleRadioToggle(answer.id)"  type="radio">
+              </td>
+            </tr>
+            </tbody>
+          </table>
+        </div>
+        <div class="modal-footer">
+          default footer
+          <button
+              class="modal-default-button"
+              @click="$emit('close')">
+            OK
+          </button>
+        </div>
+      </div>
+    </div>
+  </div>-->
+  <!--
+
+	<Transition name="modal">
+		<div v-if="show" class="modal-mask">
+			<div class="modal-container">
+				<div class="modal-header">
+					<slot name="header">default header</slot>
+				</div>
+
+				<div class="modal-body">
+					<slot name="body">default body</slot>
+				</div>
+
+				<div class="modal-footer">
+					<slot name="footer">
+						default footer
+						<button
+								class="modal-default-button"
+								@click="$emit('close')"
+						>OK</button>
+					</slot>
+				</div>
+			</div>
+		</div>
+	</Transition>
+
+</template>-->
 
 <style>
 .modal-mask {
diff --git a/FullstackProsjekt/src/frontend/src/components/shared/NewQuestionModel.vue b/FullstackProsjekt/src/frontend/src/components/shared/NewQuestionModel.vue
index 35e3be29d7e1cad5c101a629f2680d2480a4b7e3..745ea0d548cd22fd123dc5c4852c994958228ba5 100644
--- a/FullstackProsjekt/src/frontend/src/components/shared/NewQuestionModel.vue
+++ b/FullstackProsjekt/src/frontend/src/components/shared/NewQuestionModel.vue
@@ -10,9 +10,9 @@ export default {
   data() {
     return {
       questionText: '',
-      answers: [{ text: '', correct: false }],
+      answers: [],
       correctAnswerIndex: 0,
-      type: 'MC',
+      type: 'MULTIPLE_CHOICE',
       score: 0,
       correctAnswer: null,
       errorMsg: ''
@@ -22,37 +22,35 @@ export default {
     //TODO: error prevention/handling
     async handleSubmit() {
       try {
-        this.findCorrectAnswer();
-        await apiClient.post('/questions', {
-          quizId: this.quizId,
+        //this.findCorrectAnswer();
+        //console.log(this.correctAnswer);
+        await apiClient.post('/questions/save', {
           questionText: this.questionText,
           type: this.type,
-          answer: this.correctAnswer,
-          options: this.answers.map(answer => answer.text), //just the strings!
-          score: this.score
+          answer: this.correctAnswer.text,
+          options: this.answers.map(answer => answer.text),
+          score: this.score,
+          quizId: this.quizId,
         })
+        this.$emit('close');
       } catch (error) {
+        console.log("error: " + error);
         this.errorMsg = 'Error submitting question';
       }
     },
-    closeModal() {
-      this.$emit('close');
-    },
     newAnswer() {
-      this.answers.push({ text: '', correct: false });
+      this.answers.push({ text: ''});
     },
-    findCorrectAnswer(){
-      if (this.correctAnswerIndex !== null && this.answers[this.correctAnswerIndex]) {
-        this.correctAnswer = this.answers[this.correctAnswerIndex].text;
-      }
+    selectOption(option) {
+      this.correctAnswer = option;
+      console.log(this.correctAnswer);
     }
   }
-
 };
 </script>
 
 <template>
-  <div class="modal-overlay" @click="closeModal">
+  <div class="modal-overlay" >
     <div @click.stop class="modal-mask">
       <div class="modal-container">
         <form @submit.prevent="handleSubmit">
@@ -68,15 +66,15 @@ export default {
               <thead>
               <tr>
                 <th scope="col">Answer</th>
-                <th scope="col">Correct ?</th>
+                <th scope="col">Correct</th>
               </tr>
               </thead>
               <tbody>
                 <tr v-for="(answer, index) in answers">
                   <td><input type="text" v-model="answer.text"></td>
                   <td>
-                    <input type="radio" :id="'correctAnswer_' + index" :value="index" v-model="correctAnswerIndex">
-                    <label :for="'correctAnswer_' + index">Correct</label>
+                    <input type="radio" :id="index" :value="answer" v-model="correctAnswerIndex"
+                           :checked="answer === correctAnswer" @change="selectOption(answer)">
                   </td>
                 </tr>
               </tbody>
@@ -84,9 +82,10 @@ export default {
           </div>
           <div class="modal-footer">
             <button class="edit-btn" @click="newAnswer">Add answer</button>
-            <button class="modal-default-button" @click="$emit('close')">SUBMIT</button>
+            <button class="modal-default-button" type="submit">SUBMIT</button>
           </div>
         </form>
+
       </div>
     </div>
   </div>
diff --git a/FullstackProsjekt/src/frontend/src/components/shared/QuestionCard.vue b/FullstackProsjekt/src/frontend/src/components/shared/QuestionCard.vue
index 32b785e07579323bbaa875e33cd6486c40889847..e10b07206a261aa0690b5816bb18bb78cfb756ec 100644
--- a/FullstackProsjekt/src/frontend/src/components/shared/QuestionCard.vue
+++ b/FullstackProsjekt/src/frontend/src/components/shared/QuestionCard.vue
@@ -8,16 +8,21 @@ export default {
     questionId: {
       type: Number,
       required: true,
+    },
+    questionText: {
+      type: String,
+      required: true,
     }
   },
-  mounted() {
-    //API req, get question from id
+  beforeMount() {
+    this.quizId = Number(this.$route.params.quizId);
   },
   data() {
     return {
       showEditQuestion: false,
       questionNum: 0,
-      question: 'question text'
+      question: 'question text',
+      quizId: null,
     }
   },
   methods: {
@@ -34,7 +39,6 @@ export default {
     },
     hideEditQuestion() {
       this.showEditQuestion = false;
-      //TODO: update answer count
     }
   }
 }
@@ -43,12 +47,12 @@ export default {
 <template>
   <div class="question-wrapper">
     <h4>{{questionId}}</h4>
-    <h3>{{question}}</h3>
+    <h3>{{questionText}}</h3>
     <div class="quiz-footer">
       <button @click="editQuestion" class="edit-btn">Edit</button>
       <button @click="deleteQuestion" class="delete-btn">Delete</button>
     </div>
-    <EditQuestionModel :question-id=questionId v-if="this.showEditQuestion" @close="hideEditQuestion"/>
+    <EditQuestionModel :question-id=questionId :quiz-id=quizId v-if="this.showEditQuestion" @close="hideEditQuestion"/>
   </div>
 </template>
 
diff --git a/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/EditQuizView.vue b/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/EditQuizView.vue
index 93c0b3b1242e311a536dac7b0ee87f9cc90ae63e..e469d4553e8115ee7399aa91efa875992a2e7a4e 100644
--- a/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/EditQuizView.vue
+++ b/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/EditQuizView.vue
@@ -30,12 +30,13 @@ export default {
       questions: [], //question list is just a list of q-ids!!
       category: '',
       difficulty: '',
-      errorMsg: ''
+      errorMsg: '',
       //TODO: make quiz object
     };
   },
   beforeMount() {
     this.quizId = this.$route.params.quizId;
+    console.log(this.quizId);
     this.getQuiz(this.quizId);
   },
   mounted() {
@@ -43,20 +44,29 @@ export default {
     //this.getQuiz(this.quizId);
   },
   methods: {
-    getQuiz(quizId) {
+    async getQuiz(quizId) {
       console.log('Fetching data for quiz: ', quizId);
       try {
-        apiClient.get('/quiz/quiz/' + this.quizId).then(response => {
+        await apiClient.get('/quiz/quiz/' + quizId).then(response => {
           console.log(response);
           this.quizTitle = response.data.title;
-          this.questions = response.data.questions;
-          this.creatorId = JSON.parse(response.data.creatorId);
+          //this.questions = response.data.questions;
+          this.creatorId = response.data.creatorId;
           this.category = response.data.category;
           this.difficulty = response.data.difficulty;
         });
+        //console.log("fetching questions");
+        //get questions separately
+        await apiClient.get('/questions/allQuestionsToAQuiz/' + quizId).then(response => {
+          //console.log("fetched questions");
+          //console.log(response.data);
+
+          this.questions = response.data;
+          console.log(this.questions[1]);
+        });
       } catch (error) {
         //TODO: proper error handling
-        console.log(error);
+        console.log("Edit quiz error: " + error);
         this.errorMsg = 'Error retrieving quizzes';
       }
     },
@@ -66,14 +76,18 @@ export default {
     },
     hideNewQuestion() {
       this.showNewQuestion = false;
-      //TODO: questions answers, +question count
     },
     deleteQuiz() {
-      //API req, quizId
+      try {
+        apiClient.post('/quiz/delete/' + this.questionId, )
+      } catch (error) {
+        this.errorMsg = 'Error deleting quiz';
+      }
     }
   },
 };
 
+
 /**
 function createQuestion() {
 	showNewQuestionModal.value = true;
@@ -164,14 +178,16 @@ async function submitQuestion() {
 			<router-link to="/overviewQuiz"> <-  </router-link>
 			<h1>Edit quiz: {{quizTitle}}</h1>
       <div class="question-div">
-        <QuestionCard id="questionCard" v-for="question in questions" :key="question.id" :question-id=question.id
-                      />
+
+        <QuestionCard id="questionCard" v-for="question in questions" :key="question.id"
+                      :question-id=question.id :question-text=question.questionText />
+
       </div>
-      <NewQuestionModel v-if="showNewQuestion" @close="hideNewQuestion" quiz-id="this.quizId"/>
+      <NewQuestionModel v-if="showNewQuestion" @close="hideNewQuestion" :quiz-id="Number(quizId)"/>
 
 			<div class="footer">
 				<button @click="newQuestion" class="add-Btn"> Add Question </button>
-        <button class="delete-btn"> DELETE QUIZ </button>
+        <button class="delete-btn" @click="deleteQuiz"> DELETE QUIZ </button>
 				<button class="save-Btn"> SAVE QUIZ </button>
 			</div>
 		</div>
diff --git a/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/QuizCard.vue b/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/QuizCard.vue
index 8652c5b92a85c5e632431e070440c314aeffa9dc..b8fe436e8b6c3e3d03418fa4334f1ccfa009fe72 100644
--- a/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/QuizCard.vue
+++ b/FullstackProsjekt/src/frontend/src/components/shared/create-quiz/QuizCard.vue
@@ -41,10 +41,17 @@ export default {
       router.push({name: 'playQuiz', params: {quizId: this.quizId}});
     },
     editQuiz() {
-      console.log("edit quiz " + this.quizTitle);
+      console.log("edit quiz " + this.quizTitle + ", quizId: " + this.quizId);
       //create new router-method to editQuiz, using quizId
       router.push({name: 'editQuiz', params: {quizId: this.quizId}});
     },
+    deleteQuiz() {
+      try {
+        apiClient.post('/quiz/delete/' + this.quizId, )
+      } catch (error) {
+        this.errorMsg = 'Error deleting quiz';
+      }
+    }
   }
 }
 </script>
@@ -62,7 +69,7 @@ export default {
       <p>{{ quizCategory }}</p>
     </div>
     <div class="quiz-footer">
-      <!--<button @click="playQuiz" class="play-btn">Play</button>-->
+      <button @click="playQuiz" class="play-btn">Play</button>
       <button @click="editQuiz" class="edit-btn">Edit</button>
     </div>
   </div>
diff --git a/FullstackProsjekt/src/frontend/src/views/OverviewQuizView.vue b/FullstackProsjekt/src/frontend/src/views/OverviewQuizView.vue
index bd3353a3973e7b839a24acc59d6957d09f4d96b0..d242d929f1d61f4af53ad12cfe6ffe2303455603 100644
--- a/FullstackProsjekt/src/frontend/src/views/OverviewQuizView.vue
+++ b/FullstackProsjekt/src/frontend/src/views/OverviewQuizView.vue
@@ -4,7 +4,7 @@
     <div class="headerDiv">
 	    <router-link to="/dashboard" ><Svg name="go-back-icon" class="go-back-icon"/></router-link>
 	    <h1>Your quizzes</h1>
-	    <router-link to="/create-quiz" class="add-Btn">Create new quiz</router-link>
+	    <router-link to="/createQuiz" class="add-Btn">Create new quiz</router-link>
     </div>
 		<p>Play, edit or delete a quiz saved from your profile</p>
 
diff --git a/FullstackProsjekt/src/frontend/src/views/ProfileView.vue b/FullstackProsjekt/src/frontend/src/views/ProfileView.vue
index 63d772bbb72c9f85f19ae76708a8137447501d83..222a610360027d5dc77abc0e20255e57711ef925 100644
--- a/FullstackProsjekt/src/frontend/src/views/ProfileView.vue
+++ b/FullstackProsjekt/src/frontend/src/views/ProfileView.vue
@@ -1,3 +1,62 @@
+
+<script>
+import Svg from "@/assets/Svg.vue";
+import Modal from "@/components/shared/modal/Modal.vue"
+import {ref} from 'vue'
+import {getIdByToken} from "@/tokenController.js";
+import {apiClient} from "@/api.js";
+
+
+export default {
+	components: {Modal, Svg},
+	data() {
+		return {
+			userId: null,
+			quizList:[],
+			showModal: ref(false),
+			isLoggedIn: true,
+			user: {
+				username: '',
+			}
+		};
+	},
+	mounted() {
+		this.user.username = localStorage.getItem('username');
+		this.populateQuizzes();
+	},
+	computed: {
+		quizAttempts() {
+			// Mock data for quiz attempts (replace with actual data)
+			return [
+				{ id: 1, quizTitle: 'Math Quiz', score: '80%', date: '2024-04-05' },
+				{ id: 2, quizTitle: 'Science Quiz', score: '90%', date: '2024-04-04' }
+			];
+		}
+	},
+	methods:{
+		logout(){
+			this.isLoggedIn = false;
+			this.$router.push('/login');
+		},
+		closeModal(){
+			this.showModal=false;
+		},
+		async populateQuizzes() {
+			try {
+				await this.setUserId();
+				const response = await apiClient.get('/quiz/creator/' + this.userId);
+				this.quizList = response.data;
+			} catch (error) {
+				console.error('Error retrieving quizzes:', error);
+			}
+		},
+		async setUserId() {
+			this.userId = await getIdByToken();
+		}
+	}
+};
+</script>
+
 <template>
 	<body>
 	<div class="profile">
@@ -71,7 +130,7 @@
 	</body>
 </template>
 
-
+<!--
 <script>
 import Svg from "@/assets/Svg.vue";
 import Modal from "@/components/shared/modal/Modal.vue"
@@ -124,7 +183,7 @@ export default {
 		}
 	}
 };
-</script>
+</script>-->
 
 
 <style scoped>