diff --git a/docker-compose.yaml b/docker-compose.yaml
index 4bc8da635b628ba84803ac1ba30a73e2e5c5997e..c42b75815ca0c1915a336b63ae3e4fb4636192df 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -26,5 +26,5 @@ services:
       MONGO_INITDB_ROOT_USERNAME: alhb
       MONGO_INITDB_ROOT_PASSWORD: asdasd123
     ports:
-      - 27018:27017
+      - 27017:27017
 
diff --git a/sth-backend/pom.xml b/sth-backend/pom.xml
index 539b22fe07c9d786494a8053c653dd92db1b1414..a8a7dfccec988293fe8b2be0e07959e229ea8d7e 100644
--- a/sth-backend/pom.xml
+++ b/sth-backend/pom.xml
@@ -20,6 +20,7 @@
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-security</artifactId>
+			<version>3.2.1</version>
 		</dependency>
 		<dependency>
 			<groupId>org.mockito</groupId>
@@ -71,8 +72,12 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-
-    </dependencies>
+		<dependency>
+			<groupId>org.springdoc</groupId>
+			<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
+			<version>2.3.0</version>
+		</dependency>
+	</dependencies>
 
 	<build>
 		<plugins>
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/SthBackendApplication.java b/sth-backend/src/main/java/hdm/mi/sthbackend/SthBackendApplication.java
index c6aba53ce2b19028a1965dccd517a0255da6f15c..17abe0de7697134018c5f7375a885dd483304bfc 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/SthBackendApplication.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/SthBackendApplication.java
@@ -11,6 +11,8 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Bean;
 import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 import java.util.UUID;
 
@@ -32,6 +34,7 @@ public class SthBackendApplication {
 
 	}
 
+
 	@Bean
 	public CommandLineRunner demo() {
 		return args -> {
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TestController.java b/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TestController.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6634cecf6641a173197918773d3e1a540fc8a1f
--- /dev/null
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TestController.java
@@ -0,0 +1,23 @@
+package hdm.mi.sthbackend.controller;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api")
+public class TestController {
+    @GetMapping()
+    @CrossOrigin("http://localhost:5173")
+    public ResponseEntity<String> handleGet(){
+        return ResponseEntity.ok("Success");
+    }
+
+    @PostMapping
+    @CrossOrigin
+    public ResponseEntity<String> handlePost(@RequestBody String test ){
+        return ResponseEntity.ok(test);
+    }
+
+}
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TournamentController.java b/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TournamentController.java
index 16288fb200ca4a661143d645b926f0c04658e343..c2df70671647a585adbc83a1afbcb58f404cbd9b 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TournamentController.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/controller/TournamentController.java
@@ -1,12 +1,9 @@
 package hdm.mi.sthbackend.controller;
 
-
-import hdm.mi.sthbackend.dto.MatchDTO;
-import hdm.mi.sthbackend.dto.PlayerDTO;
-import hdm.mi.sthbackend.dto.TeamDTO;
-import hdm.mi.sthbackend.dto.TournamentDTO;
+import hdm.mi.sthbackend.dto.*;
 import hdm.mi.sthbackend.exeptions.*;
 import hdm.mi.sthbackend.model.Match;
+import hdm.mi.sthbackend.model.Team;
 import hdm.mi.sthbackend.model.Tournament;
 import hdm.mi.sthbackend.service.TournamentService;
 import hdm.mi.sthbackend.types.TeamMatchScore;
@@ -15,11 +12,15 @@ import hdm.mi.sthbackend.types.TournamentName;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
+import java.util.List;
 import java.util.UUID;
 
+
 @RestController
 @RequestMapping("/api/v1")
 @AllArgsConstructor
+@CrossOrigin(origins = "*")
 public class TournamentController {
 
     private final TournamentService service;
@@ -105,8 +106,12 @@ public class TournamentController {
     }
 
     @PostMapping("/tournaments")
-    public Tournament createTournament(@RequestBody Tournament tournament) {
-        return service.createTournament(tournament);
+    public Tournament createTournament(@RequestBody CreateTournamentDTO tournament) {
+
+        String tournamentName = tournament.getTournamentName();
+        List<String> teamNames = tournament.getTeamNames();
+
+        return service.createTournament( new Tournament(tournamentName, teamNames) );
     }
 
     @DeleteMapping("/tournaments/{tournamentId}")
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/dto/CreateTournamentDTO.java b/sth-backend/src/main/java/hdm/mi/sthbackend/dto/CreateTournamentDTO.java
new file mode 100644
index 0000000000000000000000000000000000000000..849a47d882e90db86d32bd0f24f3a7dcfb87f139
--- /dev/null
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/dto/CreateTournamentDTO.java
@@ -0,0 +1,17 @@
+package hdm.mi.sthbackend.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+@Getter
+@Setter
+@AllArgsConstructor
+public class CreateTournamentDTO {
+
+    private String tournamentName;
+    private List<String> teamNames;
+
+}
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/mapper/ModelToDTOMapper.java b/sth-backend/src/main/java/hdm/mi/sthbackend/mapper/ModelToDTOMapper.java
index b9418ca1d3d15337aefda1c141263998bc091a90..68abfa22d780c1af31e93de44c5eafe0f75b71f2 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/mapper/ModelToDTOMapper.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/mapper/ModelToDTOMapper.java
@@ -3,14 +3,10 @@ package hdm.mi.sthbackend.mapper;
 import hdm.mi.sthbackend.dto.MatchDTO;
 import hdm.mi.sthbackend.dto.PlayerDTO;
 import hdm.mi.sthbackend.dto.TeamDTO;
-import hdm.mi.sthbackend.dto.TournamentDTO;
-import hdm.mi.sthbackend.exeptions.MatchIdNotFoundException;
 import hdm.mi.sthbackend.exeptions.PlayerIdNotFoundException;
-import hdm.mi.sthbackend.exeptions.TournamentIdNotFoundException;
 import hdm.mi.sthbackend.model.Match;
 import hdm.mi.sthbackend.model.Player;
 import hdm.mi.sthbackend.model.Team;
-import hdm.mi.sthbackend.model.Tournament;
 import hdm.mi.sthbackend.repository.IMatchRepository;
 import hdm.mi.sthbackend.repository.IPlayerRepository;
 import hdm.mi.sthbackend.repository.ITeamRepository;
@@ -115,7 +111,7 @@ public class ModelToDTOMapper {
                 .stream()
                 .collect(Collectors.toMap(Entry::getKey, e -> mapToPlayerDTO(e.getValue())));
         return new TeamDTO(
-                team.getId(),
+                team.getTeamId(),
                 team.getTeamName(),
                 mappedPlayers
         );
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java
index 620a1d1bee0a7f6830d7f6c9aa72b8cd79fd4907..8d4e46a984ed0400128935fe6337b33b3e4635ca 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java
@@ -6,16 +6,22 @@ import lombok.Setter;
 import org.springframework.data.annotation.Id;
 import org.springframework.data.mongodb.core.mapping.Document;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
 @Getter
-@Document("Team")
 @AllArgsConstructor
 public class Team {
-    @Id
-    private final UUID id;
+
+    private final UUID teamId;
     @Setter
     private String teamName;
     private final List<UUID> teamMembers;
+
+    public Team(String teamName) {
+        this.teamId = UUID.randomUUID();
+        this.teamName = teamName;
+        this.teamMembers = new ArrayList<>();
+    }
 }
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java
index 18356b42fc89db0b33583facd9d2140c1105950c..2ec62f31181f03c8ec82912dc0e3ca47b94ad3ad 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java
@@ -10,9 +10,11 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 @Document("Tournament")
 @Getter
+@Setter
 @AllArgsConstructor
 public class Tournament implements ITournament{
     @Id
@@ -21,12 +23,16 @@ public class Tournament implements ITournament{
     private String tournamentName;
     @Setter
     private List<BracketRound> bracket;
-    private List<UUID> teams;
+    private Map<UUID, Team> teams;
+    private List<UUID> users;
 
-    public Tournament(String tournamentName, List<UUID> teams){
+
+
+    public Tournament(String tournamentName, List<String> teamNames){
         this.tournamentId = UUID.randomUUID();
         this.tournamentName = tournamentName;
-        this.teams = teams;
         this.bracket = new ArrayList<>();
+        this.teams = teamNames.stream().map( Team::new ).collect(Collectors.toMap(Team::getTeamId, team -> team ));
     }
+
 }
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java
deleted file mode 100644
index 9c7b2360b0a05ebe600ce979f411ce793b040731..0000000000000000000000000000000000000000
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package hdm.mi.sthbackend.repository;
-
-import hdm.mi.sthbackend.model.Match;
-import org.springframework.data.mongodb.repository.MongoRepository;
-
-import java.util.UUID;
-
-public interface IMatchRepository extends MongoRepository<Match, UUID> {
-}
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java
deleted file mode 100644
index def782437cb1748269a22f1f390b1f7a973c39ee..0000000000000000000000000000000000000000
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package hdm.mi.sthbackend.repository;
-
-import hdm.mi.sthbackend.model.Player;
-import hdm.mi.sthbackend.model.Tournament;
-import org.springframework.data.mongodb.repository.MongoRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface IPlayerRepository extends MongoRepository<Player, UUID> {
-
-}
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java
deleted file mode 100644
index e2bb9c3d526f8f8a9cdb06065fd23c914215184f..0000000000000000000000000000000000000000
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package hdm.mi.sthbackend.repository;
-
-import hdm.mi.sthbackend.model.Team;
-import org.springframework.data.mongodb.repository.MongoRepository;
-
-import java.util.UUID;
-
-public interface ITeamRepository extends MongoRepository<Team, UUID> {
-}
diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java
index fadff0303c71dcdc2ff2b86f30a00b7de6821e2c..9f8bda9ceffe65476e529662e6fa5be639835c35 100644
--- a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java
+++ b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java
@@ -3,7 +3,6 @@ package hdm.mi.sthbackend.service;
 import hdm.mi.sthbackend.dto.MatchDTO;
 import hdm.mi.sthbackend.dto.PlayerDTO;
 import hdm.mi.sthbackend.dto.TeamDTO;
-import hdm.mi.sthbackend.dto.TournamentDTO;
 import hdm.mi.sthbackend.exeptions.*;
 import hdm.mi.sthbackend.mapper.ModelToDTOMapper;
 import hdm.mi.sthbackend.model.*;
@@ -11,7 +10,6 @@ import hdm.mi.sthbackend.repository.IMatchRepository;
 import hdm.mi.sthbackend.repository.IPlayerRepository;
 import hdm.mi.sthbackend.repository.ITeamRepository;
 import hdm.mi.sthbackend.repository.ITournamentRepository;
-import hdm.mi.sthbackend.types.TeamMatchScore;
 import lombok.AllArgsConstructor;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -27,17 +25,16 @@ public class TournamentService {
     private final Logger log = LogManager.getLogger(TournamentService.class);
 
     ITournamentRepository tournamentRepository;
-    IPlayerRepository playerRepository;
-    ITeamRepository teamRepository;
-    IMatchRepository matchRepository;
 
     @Autowired
     ModelToDTOMapper mapper;
 
-    public PlayerDTO addPlayerToTeam(UUID teamId,
-                                  String playerName) throws TeamIdNotFoundException {
-        Team team = teamRepository.findById(teamId)
-                .orElseThrow(() -> new TeamIdNotFoundException(teamId));
+    public PlayerDTO addPlayerToTeam(UUID tournamentId, UUID teamId,
+                                  String playerName) throws TournamentIdNotFoundException, TeamIdNotFoundException {
+        Tournament tournament = tournamentRepository.findById(tournamentId)
+                .orElseThrow(() -> new TournamentIdNotFoundException( tournamentId));
+
+        Team team = Optional.ofNullable( tournament.getTeams().get( teamId )).orElseThrow(() -> new TeamIdNotFoundException(teamId)) ;
 
         Player newPlayer = new Player(UUID.randomUUID(), playerName);
         team.getTeamMembers()
@@ -113,10 +110,10 @@ public class TournamentService {
         Tournament tournament = tournamentRepository.findById(tournamentId)
                 .orElseThrow(() -> new TournamentIdNotFoundException(tournamentId));
 
-        Team newTeam = new Team(UUID.randomUUID(), teamName, new ArrayList<>());
+        Team newTeam = new Team(teamName);
 
         tournament.getTeams()
-                .add(newTeam.getId());
+                .add(newTeam);
 
         teamRepository.insert(newTeam);
         tournamentRepository.save(tournament);
@@ -132,7 +129,7 @@ public class TournamentService {
                 .orElseThrow(() -> new TeamIdNotFoundException(teamId));
         try {
             tournament.getTeams()
-                    .remove(teamToDelete.getId());
+                    .remove(teamToDelete.getTeamId());
         } catch (NullPointerException e) {
             throw new TeamIdNotFoundException(tournamentId);
         }
@@ -143,8 +140,9 @@ public class TournamentService {
     }
 
     public Tournament createTournament(Tournament tournament) {
+
         tournamentRepository.insert(tournament);
-        log.debug("created Tournament " + tournament.getTournamentId());
+        log.info("created Tournament " + tournament.getTournamentId());
         return tournament;
     }
 
@@ -235,7 +233,7 @@ public class TournamentService {
     public Tournament createBracket(UUID tournamentId) throws TournamentIdNotFoundException, InsufficientTeamsException, BracketAlreadyInitializedException{
         Tournament tournament = tournamentRepository.findById(tournamentId)
                 .orElseThrow(() -> new TournamentIdNotFoundException(tournamentId));
-        List<UUID> teams = tournament.getTeams();
+        List<Team> teams = tournament.getTeams();
 
         if(teams.size() < 2){
             throw new InsufficientTeamsException(tournamentId);
@@ -263,21 +261,52 @@ public class TournamentService {
         else{
             throw new BracketAlreadyInitializedException(tournamentId);
         }
+
+        linkMatchesInNextRound(tournamentId);
+
         tournamentRepository.save(tournament);
         return tournament;
     }
 
+    public void linkMatchesInNextRound(UUID tournamentId)throws TournamentIdNotFoundException {
+        Tournament tournament = tournamentRepository.findById(tournamentId)
+                .orElseThrow(() -> new TournamentIdNotFoundException(tournamentId));
+
+        int timesUsed = 0;
+        Map<UUID, Match> nextRoundMatches;
+
+        for (int i = 0; i < tournament.getBracket().size() - 1; i++) {
+            nextRoundMatches = tournament.getBracket().get(i + 1).getMatches();
+            List<UUID> nextRoundMatchIds = nextRoundMatches.keySet().stream().toList();
+
+            for (Map.Entry<UUID, Match> entry : tournament.getBracket().get(i).getMatches().entrySet()) {
+                UUID nextMatch = nextRoundMatchIds.get(0);
+                entry.getValue().setNextMatchId(nextMatch);
+
+                if (timesUsed > 0) {
+                    nextRoundMatchIds.removeFirst();
+                    timesUsed = 0;
+                } else {
+                    timesUsed += 1;
+                }
+
+            }
+        }
+        tournamentRepository.save(tournament);
+    }
+
+
     public Tournament fillBracketRandom(UUID tournamentId) throws TournamentIdNotFoundException {
         Tournament tournament = tournamentRepository.findById(tournamentId)
                 .orElseThrow(() -> new TournamentIdNotFoundException(tournamentId));
-        List<UUID> teams = tournament.getTeams();
+        List<Team> teams = tournament.getTeams();
 
         Random random = new Random();
         for(int i = 0; i < 2; i++){
             for(Match match: tournament.getBracket().get(0).getMatches().values()){
-                if(teams.size() > 0){
+                if(!teams.isEmpty()){
                     int teamIndex = random.nextInt(0, teams.size());
-                    match.getTeamScores().put(teams.get(teamIndex), 0);
+                    match.getTeamScores().put(teams.get(teamIndex).getTeamId(), 0);
                     teams.remove(teamIndex);
                 }
                 else{
diff --git a/sth-backend/src/main/resources/application-dev.yaml b/sth-backend/src/main/resources/application-dev.yaml
index e7c0fa4e0780d6313a1aaa401efab832bd9d7533..76ede2e4fc54615487b8bd67a88508b4cf716a3c 100644
--- a/sth-backend/src/main/resources/application-dev.yaml
+++ b/sth-backend/src/main/resources/application-dev.yaml
@@ -1,5 +1,5 @@
 spring:
   datasource:
-    url: mongodb://alhb:asdasd123@localhost:27018/?authMechanism=DEFAULT
+    url: mongodb://alhb:asdasd123@localhost:27017/?authMechanism=DEFAULT
     username: alhb
     password: asdasd123
diff --git a/sth-backend/src/main/resources/application.yaml b/sth-backend/src/main/resources/application.yaml
index ba22ea1ff5b66a8c1230e26a20a380a912389f8a..6a46c2375f354c2247cb0c6d165739be566ef068 100644
--- a/sth-backend/src/main/resources/application.yaml
+++ b/sth-backend/src/main/resources/application.yaml
@@ -2,8 +2,9 @@ spring:
   data:
     mongodb:
       host: localhost
-      port: 27018
+      port: 27017
       database: tournament-hub
       authentication-database: admin
       username: alhb
       password: asdasd123
+
diff --git a/sth-backend/src/test/java/hdm/mi/sthbackend/TournamentControllerTest.java b/sth-backend/src/test/java/hdm/mi/sthbackend/TournamentControllerTest.java
index 7970142aa0f9cf7c6c4ec0bdba2075a1a7322a0f..0fd940f35462a79ed9208524406730bfed240160 100644
--- a/sth-backend/src/test/java/hdm/mi/sthbackend/TournamentControllerTest.java
+++ b/sth-backend/src/test/java/hdm/mi/sthbackend/TournamentControllerTest.java
@@ -10,10 +10,8 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.junit.jupiter.api.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.MockitoJUnitRunner;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -25,10 +23,10 @@ import java.util.ArrayList;
 import java.util.Optional;
 import java.util.UUID;
 
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 import static org.mockito.Mockito.*;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 
 @SpringBootTest
 @AutoConfigureMockMvc
diff --git a/sth-backend/src/test/java/hdm/mi/sthbackend/dummyObjects/dummyTournaments.java b/sth-backend/src/test/java/hdm/mi/sthbackend/dummyObjects/dummyTournaments.java
index 2d5c9ee56ad0233c90934f963d0e7c71bedf0712..a5ab7680000d19bb349fb841f2d528113c46e0c2 100644
--- a/sth-backend/src/test/java/hdm/mi/sthbackend/dummyObjects/dummyTournaments.java
+++ b/sth-backend/src/test/java/hdm/mi/sthbackend/dummyObjects/dummyTournaments.java
@@ -1,48 +1,30 @@
 package hdm.mi.sthbackend.dummyObjects;
 
+import hdm.mi.sthbackend.model.Team;
 import hdm.mi.sthbackend.model.Tournament;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.UUID;
+import java.util.*;
 
 public class dummyTournaments {
     private final Logger log = LogManager.getLogger("dummyTournaments");
     public static UUID dummyTournamentId = UUID.randomUUID();
 
-    public static Tournament t1 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID())));
-    public static Tournament t2 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())));
-    public static Tournament t3 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())));
-    public static Tournament t4 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())));
-    public static Tournament t11 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID())));
-    public static Tournament t12 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())));
-    public static Tournament t13 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID())));
-    public static Tournament t14 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(),
-            new ArrayList<>(Arrays.asList(
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID(),
-                    UUID.randomUUID(), UUID.randomUUID(), UUID.randomUUID())));
+    public static Tournament t1 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 2  )), new ArrayList<>());
+    public static Tournament t2 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 4  )), new ArrayList<>());
+    public static Tournament t3 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 8  )), new ArrayList<>());
+    public static Tournament t4 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 16  )), new ArrayList<>());
+    public static Tournament t11 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 1 )), new ArrayList<>());
+    public static Tournament t12 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 3  )), new ArrayList<>());
+    public static Tournament t13 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 5  )), new ArrayList<>());
+    public static Tournament t14 = new Tournament(dummyTournamentId, "TestTournament", new ArrayList<>(), new ArrayList<>( generateTeams( 15  )), new ArrayList<>());
 
+    private static List<Team> generateTeams(int count) {
+        List<Team> teamList = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            teamList.add(new Team( "dummy" ));
+        }
+        return teamList;
+    }
 }
diff --git a/sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreacteBracketTest.java b/sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreateBracketTest.java
similarity index 99%
rename from sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreacteBracketTest.java
rename to sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreateBracketTest.java
index 03fc5eaea90fd0f086008b70917eebffd977e17b..70862e5a887137bddb93ff3f70d994fc98d232a0 100644
--- a/sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreacteBracketTest.java
+++ b/sth-backend/src/test/java/hdm/mi/sthbackend/serviceTests/CreateBracketTest.java
@@ -21,7 +21,7 @@ import static org.mockito.Mockito.*;
 import java.util.Optional;
 
 @ExtendWith(MockitoExtension.class)
-public class CreacteBracketTest {
+public class CreateBracketTest {
 
     @Mock
     public ITournamentRepository tournamentRepository;
diff --git a/sth-frontend/.env b/sth-frontend/.env
index a97bd7733774a0d552408b194bada84ba0847ac6..efccb62ff3d0ae0245960485ced291348add740c 100644
--- a/sth-frontend/.env
+++ b/sth-frontend/.env
@@ -1,2 +1,2 @@
 # .env
-
+VITE_BASE_URL=http://localhost:8080
diff --git a/sth-frontend/src/App.jsx b/sth-frontend/src/App.jsx
index cd877e1cf671d69ec4559b8cf0d918cb366386b7..694637039d4829b3151bdbf8c2f5ea80a971b532 100644
--- a/sth-frontend/src/App.jsx
+++ b/sth-frontend/src/App.jsx
@@ -2,15 +2,12 @@ import Navbar from "./layouts/Navbar";
 import {Outlet} from "react-router-dom";
 import "./index.css"
 import Button from "./components/Button";
+import Home from "./pages/Home";
 
 function App() {
   return (
       <>
-          <Navbar />
-          <div className={'p-6'}>
-              <Outlet />
-          </div>
-          <Button className={'bg-blue-500'}>Hello</Button>
+          <Home />
       </>
   );
 }
diff --git a/sth-frontend/src/components/TournamentForm.jsx b/sth-frontend/src/components/TournamentForm.jsx
index 71962aa13563dfbbe010f64ce4fa5035236d9b74..e46ae3d4fa4d21979b95f5f7d68aa3ad0aef72e4 100644
--- a/sth-frontend/src/components/TournamentForm.jsx
+++ b/sth-frontend/src/components/TournamentForm.jsx
@@ -30,8 +30,8 @@ export default function TournamentForm({setIsOpen}) {
     const handleSubmit = async (event) => {
         event.preventDefault()
         const tournament = {
-            name: tournamentName,
-            teams: teamNames
+            tournamentName: tournamentName,
+            teamNames: teamNames
         }
         try {
             await createTournament(tournament)
diff --git a/sth-frontend/src/features/auth/components/loginForm.jsx b/sth-frontend/src/features/auth/components/loginForm.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..88bf10dc2481fa1753da656acc043857a232b430
--- /dev/null
+++ b/sth-frontend/src/features/auth/components/loginForm.jsx
@@ -0,0 +1,17 @@
+function LoginForm() {
+
+
+
+    return (
+        <div className={'flex flex-col justify-center items-center'}>
+            <h1 >Sign up</h1>
+            <form className={'flex flex-col mt-3 w-1/4'}>
+                <input className={'mt-3 border'} type={'text'} id={'email'} name={'email'}/>
+                <input className={'mt-3 border'} type={'password'} id={'password'} name={'password'}/>
+                <button className={'text-white bg-blue-700 hover:bg-blue-800 rounded mt-3' } type={'submit'}>SIGN UP</button>
+            </form>
+        </div>
+    );
+}
+
+export default LoginForm
\ No newline at end of file
diff --git a/sth-frontend/src/features/tournament/components/Team.jsx b/sth-frontend/src/features/tournament/components/Team.jsx
index bb762e829932c9011db904d134a8d618f378ad93..952c504939d7cec316e992135c6efce6efb339aa 100644
--- a/sth-frontend/src/features/tournament/components/Team.jsx
+++ b/sth-frontend/src/features/tournament/components/Team.jsx
@@ -3,6 +3,7 @@ import Score from "./Score";
 
 export default function Team({name, score, setScore, winning}) {
 
+
     return(
         <div className={'flex w-40 m-3'}>
             <div className={`mr-4 rounded flex justify-center ` + (winning ? 'bg-green-300' : 'bg-gray-100')}>{name}</div>
diff --git a/sth-frontend/src/features/tournament/services/tournamentService.js b/sth-frontend/src/features/tournament/services/tournamentService.js
index fd02f1168aed0fc127f5d6b2b45691ff3a771301..99f2da460278439065c4c9ecbbb9643ed9c5a1c1 100644
--- a/sth-frontend/src/features/tournament/services/tournamentService.js
+++ b/sth-frontend/src/features/tournament/services/tournamentService.js
@@ -1,21 +1,25 @@
 async function createTournament(tournament) {
 
-    const baseURL = import.meta.env.BASE_URL;
-    const url = `${baseURL}/api/v1/tournaments/`;
+    const baseURL = import.meta.env.VITE_BASE_URL;
+    const url = `${baseURL}/api/v1/tournaments`
     const options = {
         method: 'POST',
         headers: {
             'Content-Type': 'application/json',
-
         },
         body: JSON.stringify(tournament),
         mode: 'cors',
-        credentials: 'include'
+        credentials: 'omit'
     };
 
     try {
-        console.log('fetching');
+        console.log(`fetching ${url}`);
+        console.log(options)
+
         const response = await fetch(url, options);
+        const data = await response.text()
+        console.log(data)
+
 
         if (!response.ok) {
             throw new HttpResponseError('Bad fetch', response);
diff --git a/sth-frontend/src/layouts/Navbar.jsx b/sth-frontend/src/layouts/Navbar.jsx
index dc6654418a7a0e84533d3d74fc5181a5322834a4..0de1e1cda0505f7d2b97be0511fcceb162f0fe61 100644
--- a/sth-frontend/src/layouts/Navbar.jsx
+++ b/sth-frontend/src/layouts/Navbar.jsx
@@ -25,7 +25,7 @@ export default function Navbar() {
                             <Link to="/">Home</Link>
                         </li>
                         <li className={'flex items-center justify-center w-24 h-8 rounded-lg h-full hover:bg-gray-200 duration-100'}>
-                            <Link to="/">About</Link>
+                            <Link to="/login">Login</Link>
                         </li>
                     </ul>
                 </div>
diff --git a/sth-frontend/src/pages/Home.jsx b/sth-frontend/src/pages/Home.jsx
index 51dbe6e675951aaa2188c7f0bb56e3963f9bb4e0..00ff1578b7666493048c797261dd9c68a2cba8c1 100644
--- a/sth-frontend/src/pages/Home.jsx
+++ b/sth-frontend/src/pages/Home.jsx
@@ -1,9 +1,13 @@
 import Navbar from "../layouts/Navbar";
+import {Outlet} from "react-router-dom";
 
 export default function Home() {
     return (
         <div>
             <Navbar />
+            <div className={'p-6'}>
+                <Outlet />
+            </div>
         </div>
     );
 }
\ No newline at end of file
diff --git a/sth-frontend/src/pages/LoginPage.jsx b/sth-frontend/src/pages/LoginPage.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..805209792d2b6126028c9d34669cf03137d27f16
--- /dev/null
+++ b/sth-frontend/src/pages/LoginPage.jsx
@@ -0,0 +1,15 @@
+import Navbar from "../layouts/Navbar";
+import {Outlet} from "react-router-dom";
+import LoginForm from "../features/auth/components/loginForm";
+
+function LoginPage() {
+
+    return (
+        <>
+            <Navbar />
+            <LoginForm />
+        </>
+    )
+}
+
+export default LoginPage
\ No newline at end of file
diff --git a/sth-frontend/src/utils/router.jsx b/sth-frontend/src/utils/router.jsx
index 665fcf1b4ea129a5b3bb3f2334be105969bfd18d..8409f14b2bcddd0bb155fe42f3dbdc9c7d79b74e 100644
--- a/sth-frontend/src/utils/router.jsx
+++ b/sth-frontend/src/utils/router.jsx
@@ -2,6 +2,7 @@ import {createBrowserRouter} from "react-router-dom";
 import Tournament from "../features/tournament/components/Tournament";
 import App from "../App";
 import Landingpage from "../features/landingpage/Landingpage";
+import LoginPage from "../pages/LoginPage";
 
 const router = createBrowserRouter([
     {
@@ -9,6 +10,7 @@ const router = createBrowserRouter([
         element: <App/>,
         children: [
             {path: "", element: <Tournament/>},
+            {path: "/login", element: <LoginPage />}
         ]
     },
     {