diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/advice/TrivioNotFoundAdvice.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/advice/TrivioNotFoundAdvice.java
new file mode 100644
index 0000000000000000000000000000000000000000..f9cefa3e598a0885cb2f90a8aa3d73906095c1e0
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/advice/TrivioNotFoundAdvice.java
@@ -0,0 +1,17 @@
+package ntnu.idatt2105.group44.trivioServer.advice;
+
+import ntnu.idatt2105.group44.trivioServer.exception.TrivioNotFoundException;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ControllerAdvice
+public class TrivioNotFoundAdvice {
+
+  @ExceptionHandler
+  @ResponseStatus(HttpStatus.NOT_FOUND)
+  String TrivioNotFoundHandler(TrivioNotFoundException ex) {
+    return ex.getMessage();
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioController.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioController.java
new file mode 100644
index 0000000000000000000000000000000000000000..641f687f513a4f747c24ab06020f3b40b11b7443
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioController.java
@@ -0,0 +1,52 @@
+package ntnu.idatt2105.group44.trivioServer.controller;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.dto.TrivioWithQAndA;
+import ntnu.idatt2105.group44.trivioServer.model.Trivio;
+import ntnu.idatt2105.group44.trivioServer.model.User;
+import ntnu.idatt2105.group44.trivioServer.service.TrivioService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@CrossOrigin
+@RequestMapping("/trivios")
+public class TrivioController {
+  private TrivioService trivioService;
+
+  @Autowired
+  public TrivioController(TrivioService trivioService){
+    this.trivioService=trivioService;
+  }
+
+  @GetMapping
+  public List<Trivio> getAllTrivio(){
+    return trivioService.getAllTrivios();
+  }
+
+  @GetMapping(path = "{trivioId}")
+  public Trivio getTrivio(@PathVariable Long trivioId){
+    return trivioService.getTrivioById(trivioId);
+  }
+
+  @PostMapping
+  public ResponseEntity<String> addUser(@RequestBody Trivio trivio){
+    trivioService.addTrivio(trivio);
+    return new ResponseEntity<>("created!", HttpStatus.CREATED);
+  }
+
+
+  @PostMapping("/create")
+  public ResponseEntity<String> addTrivioWithQuestionsAndAnswers(@RequestBody TrivioWithQAndA trivioWithQuestionsAndAnswers) {
+    trivioService.createTrivio(trivioWithQuestionsAndAnswers);
+    return new ResponseEntity<>("Trivio with questions and answers added successfully", HttpStatus.CREATED);
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioQuestionController.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioQuestionController.java
new file mode 100644
index 0000000000000000000000000000000000000000..015960b9dd22d105fc55d631d74ebe8cbe0a08ed
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/controller/TrivioQuestionController.java
@@ -0,0 +1,49 @@
+package ntnu.idatt2105.group44.trivioServer.controller;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.model.Question;
+import ntnu.idatt2105.group44.trivioServer.model.Trivio;
+import ntnu.idatt2105.group44.trivioServer.service.QuestionService;
+import ntnu.idatt2105.group44.trivioServer.service.TrivioService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/trivios")
+public class TrivioQuestionController {
+  private TrivioService trivioService;
+  private QuestionService questionService;
+
+  @Autowired
+  public TrivioQuestionController(TrivioService trivioService, QuestionService questionService) {
+    this.trivioService = trivioService;
+    this.questionService = questionService;
+  }
+
+  @GetMapping("{trivioId}/questions")
+  public ResponseEntity<List<Question>> getQuestionForTrivia(@PathVariable Long trivioId){
+    Trivio trivio  = trivioService.getTrivioById(trivioId);
+    System.out.println(trivio.getQuestionList());
+    System.out.println(trivio.getQuestionList().size());
+
+    return ResponseEntity.ok(trivio.getQuestionList());
+  }
+
+  /*
+  Denne løsningen fungerer ikke helt. Implementasjonen her er å legge til et spørsmål til
+  spesifikke trivioen, men tror det er bedre at vi bare poster hele trivioen, istedenfor
+  å poste flere spørsmål samtidig.
+   */
+  @PostMapping("{trivioId}/questions")
+  public ResponseEntity<Question> addQuestionToTrivio(@PathVariable Long trivioId, @RequestBody Question question){
+    trivioService.addQuestionToTrivio(question,trivioId);
+    return ResponseEntity.ok(question);
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/QuestionWithAnswers.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/QuestionWithAnswers.java
new file mode 100644
index 0000000000000000000000000000000000000000..ebba791ca9585201f322aa376cc213c2845578f0
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/QuestionWithAnswers.java
@@ -0,0 +1,28 @@
+package ntnu.idatt2105.group44.trivioServer.dto;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.model.Answer;
+import ntnu.idatt2105.group44.trivioServer.model.Question;
+//selve DTO-klasse for å abstraktere spørsmål- og svar-entitetene
+public class QuestionWithAnswers {
+  private Question question;
+  private List<Answer> answers;
+
+  public Question getQuestion() {
+    return question;
+  }
+
+  public void setQuestion(Question question) {
+    this.question = question;
+  }
+
+  public List<Answer> getAnswers() {
+    return answers;
+  }
+
+  public void setAnswers(List<Answer> answers) {
+    this.answers = answers;
+  }
+}
+
+
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/TrivioWithQAndA.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/TrivioWithQAndA.java
new file mode 100644
index 0000000000000000000000000000000000000000..ef9963ee10aa90da8d8dcc22bd558582d95262b3
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/TrivioWithQAndA.java
@@ -0,0 +1,32 @@
+package ntnu.idatt2105.group44.trivioServer.dto;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.model.Trivio;
+
+public class TrivioWithQAndA {
+
+  private Trivio trivio;
+  private List<QuestionWithAnswers> questionsWithAnswers;
+
+  private Long userId;
+
+  public Trivio getTrivio() {
+    return trivio;
+  }
+
+  public void setTrivio(Trivio trivio) {
+    this.trivio = trivio;
+  }
+
+  public Long getUserId() {
+    return userId;
+  }
+
+  public List<QuestionWithAnswers> getQuestionsWithAnswers() {
+    return questionsWithAnswers;
+  }
+
+  public void setQuestionsWithAnswers(List<QuestionWithAnswers> questionsWithAnswers) {
+    this.questionsWithAnswers = questionsWithAnswers;
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/UserDTO.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/UserDTO.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ee72ee0cdf23695235a74430de7b3a4bcf570ae
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/dto/UserDTO.java
@@ -0,0 +1,19 @@
+package ntnu.idatt2105.group44.trivioServer.dto;
+
+public class UserDTO {
+  private Long id;
+  private String username;
+  private String email;
+
+  public Long getId() {
+    return id;
+  }
+
+  public String getUsername() {
+    return username;
+  }
+
+  public String getEmail() {
+    return email;
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/exception/TrivioNotFoundException.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/exception/TrivioNotFoundException.java
new file mode 100644
index 0000000000000000000000000000000000000000..eed2ae21940b662f6693b23c58055e343c8b874a
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/exception/TrivioNotFoundException.java
@@ -0,0 +1,7 @@
+package ntnu.idatt2105.group44.trivioServer.exception;
+
+public class TrivioNotFoundException extends RuntimeException {
+  public TrivioNotFoundException(Long id){
+    super("Trivio id: "+id+" does not exist!");
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Answer.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Answer.java
index 014a1a4a60a18e902c0b6e71b81a06b22e973d81..3b4fe0b03af0f29d64872dd20c7fa295429c4d75 100644
--- a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Answer.java
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Answer.java
@@ -1,14 +1,42 @@
 package ntnu.idatt2105.group44.trivioServer.model;
 
+import com.fasterxml.jackson.annotation.JsonBackReference;
 import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import ntnu.idatt2105.group44.trivioServer.repository.QuestionRepository;
 
 @Entity
 public class Answer {
   @Id
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
 
+  public Long getId() {
+    return id;
+  }
+
+  public String getAnswer() {
+    return answer;
+  }
+
+  @JsonBackReference
+  @ManyToOne
+  @JoinColumn(name = "question_id")
+  public Question question;
+
+  public boolean isCorrect() {
+    return correct;
+  }
+
   public String answer;
 
   boolean correct;
+
+  public void setQuestion(Question question){
+    this.question = question;
+  }
 }
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Question.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Question.java
index 66abe990f5e1775aab3b4307b73b6c785f0ef955..5a24975f1c5e347d98769a26796fbcdfa2b2d678 100644
--- a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Question.java
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Question.java
@@ -1,7 +1,13 @@
 package ntnu.idatt2105.group44.trivioServer.model;
 
+import com.fasterxml.jackson.annotation.JsonBackReference;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonManagedReference;
+import jakarta.persistence.CascadeType;
 import jakarta.persistence.ElementCollection;
 import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
 import jakarta.persistence.JoinColumn;
 import jakarta.persistence.ManyToOne;
@@ -11,13 +17,15 @@ import java.util.List;
 @Entity
 public class Question {
   @Id
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
 
   public String question;
-
-  @OneToMany
+  @JsonManagedReference
+  @OneToMany(mappedBy = "question", cascade = CascadeType.ALL)
   public List<Answer> answers;
 
+  @JsonBackReference
   @ManyToOne
   @JoinColumn(name = "trivio_id")
   public Trivio trivio;
@@ -29,4 +37,8 @@ public class Question {
   public List<Answer> getAnswers() {
     return answers;
   }
+
+  public void setTrivio(Trivio trivio) {
+    this.trivio = trivio;
+  }
 }
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Trivio.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Trivio.java
index aaff7b3cedead21c8021abff6e05ab2b983fd67b..dfe396484661a2d2fdca4e06a6322bd75915d45f 100644
--- a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Trivio.java
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/Trivio.java
@@ -1,18 +1,31 @@
 package ntnu.idatt2105.group44.trivioServer.model;
 
+import com.fasterxml.jackson.annotation.JsonManagedReference;
 import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
 import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
 import java.util.List;
 
 @Entity
+@Table(name="trivio")
 public class Trivio {
   @Id
+  @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
   public String title;
 
   public String description;
 
+  @ManyToOne
+  @JoinColumn(name = "user_id")
+  public User user;
+
+  @JsonManagedReference
   @OneToMany(mappedBy = "trivio")
   public List<Question> questionList;
 
@@ -23,4 +36,20 @@ public class Trivio {
   public String getDescription() {
     return description;
   }
+
+  public List<Question> getQuestionList(){
+    return questionList;
+  }
+
+  public User getUser() {
+    return user;
+  }
+
+  public Long getId() {
+    return id;
+  }
+
+  public void setUser(User user) {
+    this.user = user;
+  }
 }
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/User.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/User.java
index 17e32e6c902f387a879f8e4ed81af9c6b51fb1d1..e402aedefc8d65d12d5d24df52dd25d91cb6a0a4 100644
--- a/src/main/java/ntnu/idatt2105/group44/trivioServer/model/User.java
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/model/User.java
@@ -4,7 +4,10 @@ import jakarta.persistence.Entity;
 import jakarta.persistence.GeneratedValue;
 import jakarta.persistence.GenerationType;
 import jakarta.persistence.Id;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
 import jakarta.persistence.Table;
+import java.util.List;
 
 @Entity
 @Table(name="users")
@@ -18,6 +21,8 @@ public class User {
 
   private String email;
 
+  @OneToMany(mappedBy = "user")
+  private List<Trivio> trivio;
   public User(){
 
   }
@@ -41,4 +46,16 @@ public class User {
   public String getEmail() {
     return email;
   }
+
+  public void setId(Long id) {
+    this.id = id;
+  }
+
+  public void setUsername(String username) {
+    this.username = username;
+  }
+
+  public void setEmail(String email) {
+    this.email = email;
+  }
 }
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/AnswerRepository.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/AnswerRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..833b93b342ab4320df2e75f2dd7d2dc87002f9e7
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/AnswerRepository.java
@@ -0,0 +1,8 @@
+package ntnu.idatt2105.group44.trivioServer.repository;
+
+import ntnu.idatt2105.group44.trivioServer.model.Answer;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface AnswerRepository extends JpaRepository<Answer, Long> {
+
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/QuestionRepository.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/QuestionRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ad3835f0500b8d892ac0b19f8dc541e1a295952
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/QuestionRepository.java
@@ -0,0 +1,10 @@
+package ntnu.idatt2105.group44.trivioServer.repository;
+
+import ntnu.idatt2105.group44.trivioServer.model.Question;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface QuestionRepository  extends JpaRepository<Question, Long> {
+
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/TrivioRepository.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/TrivioRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..548e0500a8db7953d450969d4f8ee11037cd7a1b
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/repository/TrivioRepository.java
@@ -0,0 +1,11 @@
+package ntnu.idatt2105.group44.trivioServer.repository;
+
+import java.util.Optional;
+import ntnu.idatt2105.group44.trivioServer.model.Trivio;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface TrivioRepository extends JpaRepository<Trivio, Long> {
+  Optional<Trivio> findTrivioByTitle(String title);
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/service/QuestionService.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/service/QuestionService.java
new file mode 100644
index 0000000000000000000000000000000000000000..75973e21e216e9fb7df8f0bcb938807d8f984d47
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/service/QuestionService.java
@@ -0,0 +1,45 @@
+package ntnu.idatt2105.group44.trivioServer.service;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.exception.TrivioNotFoundException;
+import ntnu.idatt2105.group44.trivioServer.model.Answer;
+import ntnu.idatt2105.group44.trivioServer.model.Question;
+import ntnu.idatt2105.group44.trivioServer.repository.AnswerRepository;
+import ntnu.idatt2105.group44.trivioServer.repository.QuestionRepository;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+public class QuestionService {
+  private QuestionRepository questionRepository;
+  private AnswerRepository answerRepository;
+
+  public QuestionService(QuestionRepository questionRepository, AnswerRepository answerRepository) {
+    this.questionRepository = questionRepository;
+    this.answerRepository = answerRepository;
+  }
+
+  public void addQuestion(Question question) {
+    questionRepository.save(question);
+  }
+
+//  public void addAnswerToQuestion(Long questionId, Answer answer){
+//    Question question = questionRepository.findById(questionId).orElseThrow(() -> new TrivioNotFoundException(questionId));
+//    answer.setQuestion(question);
+//    answerRepository.save(answer);
+//
+//    question.getAnswers().add(answer);
+//    questionRepository.save(question);
+//  }
+
+
+  @Transactional
+  public void addQuestionWithAnswers(Question question, List<Answer> answers) {
+    Question savedQuestion = questionRepository.save(question);
+    for (Answer answer : answers) {
+      answer.setQuestion(savedQuestion);
+      answerRepository.save(answer);
+    }
+
+  }
+}
diff --git a/src/main/java/ntnu/idatt2105/group44/trivioServer/service/TrivioService.java b/src/main/java/ntnu/idatt2105/group44/trivioServer/service/TrivioService.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8732803a3f0355a6f3104191e3abc36426a2506
--- /dev/null
+++ b/src/main/java/ntnu/idatt2105/group44/trivioServer/service/TrivioService.java
@@ -0,0 +1,86 @@
+package ntnu.idatt2105.group44.trivioServer.service;
+
+import java.util.List;
+import ntnu.idatt2105.group44.trivioServer.dto.QuestionWithAnswers;
+import ntnu.idatt2105.group44.trivioServer.dto.TrivioWithQAndA;
+import ntnu.idatt2105.group44.trivioServer.dto.UserDTO;
+import ntnu.idatt2105.group44.trivioServer.exception.TrivioNotFoundException;
+import ntnu.idatt2105.group44.trivioServer.model.Answer;
+import ntnu.idatt2105.group44.trivioServer.model.Question;
+import ntnu.idatt2105.group44.trivioServer.model.Trivio;
+import ntnu.idatt2105.group44.trivioServer.model.User;
+import ntnu.idatt2105.group44.trivioServer.repository.QuestionRepository;
+import ntnu.idatt2105.group44.trivioServer.repository.TrivioRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TrivioService {
+  private TrivioRepository trivioRepository;
+  private QuestionRepository questionRepository;
+
+  private QuestionService questionService;
+
+  private UserService userService;
+  @Autowired
+  public TrivioService(TrivioRepository trivioRepository, QuestionRepository questionRepository, QuestionService questionService,
+  UserService userService){
+    this.trivioRepository = trivioRepository;
+    this.questionRepository = questionRepository;
+    this.questionService = questionService;
+    this.userService = userService;
+  }
+
+  public List<Trivio> getAllTrivios(){
+    return trivioRepository.findAll();
+  }
+
+  public Trivio getTrivioByTitle(String title){
+    if(trivioRepository.findTrivioByTitle(title).isPresent()){
+      return trivioRepository.findTrivioByTitle(title).get();
+    }
+    return null;
+  }
+
+  public Trivio getTrivioById(Long id){
+//    if(trivioRepository.findById(id).isPresent()){
+//      return trivioRepository.findById(id).get();
+//    }
+//    return null;
+
+      return trivioRepository.findById(id).orElseThrow(() -> new TrivioNotFoundException(id));
+  }
+
+  public void addTrivio(Trivio trivio){
+    trivioRepository.save(trivio);
+  }
+
+  public void addQuestionToTrivio(Question question, Long id){
+    Trivio trivio = trivioRepository.findById(id).orElseThrow(() -> new TrivioNotFoundException(id));
+      trivio.questionList.add(question);
+      trivioRepository.save(trivio);
+      questionRepository.save(question);
+  }
+
+  public void createTrivio(TrivioWithQAndA trivioWithQAndA){
+    Trivio trivio = trivioWithQAndA.getTrivio();
+    Long userId = trivioWithQAndA.getUserId();
+
+    User user = userService.getUserById(userId);
+
+    trivio.setUser(user);
+
+    List<QuestionWithAnswers> questionWithAnswers = trivioWithQAndA.getQuestionsWithAnswers();
+    Trivio flushTrivio = trivioRepository.save(trivio);
+
+    for (QuestionWithAnswers questionWithanswers : questionWithAnswers){
+      Question question = questionWithanswers.getQuestion();
+      List<Answer> answers = questionWithanswers.getAnswers();
+
+      question.setTrivio(flushTrivio);
+
+      questionService.addQuestionWithAnswers(question, answers);
+    }
+
+  }
+}