diff --git a/backend/src/main/java/io/f1/backend/BackendApplication.java b/backend/src/main/java/io/f1/backend/BackendApplication.java index f83ad552..e9ee8631 100644 --- a/backend/src/main/java/io/f1/backend/BackendApplication.java +++ b/backend/src/main/java/io/f1/backend/BackendApplication.java @@ -8,8 +8,7 @@ @SpringBootApplication public class BackendApplication { - public static void main(String[] args) { - SpringApplication.run(BackendApplication.class, args); - } - + public static void main(String[] args) { + SpringApplication.run(BackendApplication.class, args); + } } diff --git a/backend/src/main/java/io/f1/backend/domain/admin/entity/Admin.java b/backend/src/main/java/io/f1/backend/domain/admin/entity/Admin.java index be3c8b15..05c8fe3c 100644 --- a/backend/src/main/java/io/f1/backend/domain/admin/entity/Admin.java +++ b/backend/src/main/java/io/f1/backend/domain/admin/entity/Admin.java @@ -1,27 +1,28 @@ package io.f1.backend.domain.admin.entity; import io.f1.backend.global.entity.BaseEntity; + import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; + import java.time.LocalDateTime; @Entity public class Admin extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Column(nullable = false) - private String username; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @Column(nullable = false) - private String password; + @Column(nullable = false) + private String username; - @Column(nullable = false) - private LocalDateTime lastLogin; + @Column(nullable = false) + private String password; + @Column(nullable = false) + private LocalDateTime lastLogin; } diff --git a/backend/src/main/java/io/f1/backend/domain/game/ConnectionState.java b/backend/src/main/java/io/f1/backend/domain/game/ConnectionState.java index 416cfe54..34c290e6 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/ConnectionState.java +++ b/backend/src/main/java/io/f1/backend/domain/game/ConnectionState.java @@ -1,5 +1,6 @@ package io.f1.backend.domain.game; public enum ConnectionState { - DISCONNECTED, CONNECTED + DISCONNECTED, + CONNECTED } diff --git a/backend/src/main/java/io/f1/backend/domain/game/GameSetting.java b/backend/src/main/java/io/f1/backend/domain/game/GameSetting.java index 8e3adc00..95167b32 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/GameSetting.java +++ b/backend/src/main/java/io/f1/backend/domain/game/GameSetting.java @@ -2,7 +2,7 @@ public class GameSetting { - private Long quizId; - private Integer round; // 게임 변경 시 해당 게임의 총 문제 수로 설정 - private int timeLimit = 60; + private Long quizId; + private Integer round; // 게임 변경 시 해당 게임의 총 문제 수로 설정 + private int timeLimit = 60; } diff --git a/backend/src/main/java/io/f1/backend/domain/game/Player.java b/backend/src/main/java/io/f1/backend/domain/game/Player.java index 860793be..e3fff7ab 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/Player.java +++ b/backend/src/main/java/io/f1/backend/domain/game/Player.java @@ -2,11 +2,11 @@ public class Player { - public String nickname; + public String nickname; - private boolean isReady = false; + private boolean isReady = false; - private ConnectionState state; + private ConnectionState state; - private int correctCount = 0; + private int correctCount = 0; } diff --git a/backend/src/main/java/io/f1/backend/domain/game/Room.java b/backend/src/main/java/io/f1/backend/domain/game/Room.java index 362269bf..d5929f8c 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/Room.java +++ b/backend/src/main/java/io/f1/backend/domain/game/Room.java @@ -1,26 +1,27 @@ package io.f1.backend.domain.game; import io.f1.backend.domain.question.entity.Question; + +import lombok.AllArgsConstructor; + import java.time.LocalDateTime; import java.util.List; import java.util.Map; -import lombok.AllArgsConstructor; @AllArgsConstructor public class Room { - private final Long id; - - private final RoomSetting roomSetting; - private GameSetting gameSetting; - private RoomState state = RoomState.WAITING; + private final Long id; - private Player host; + private final RoomSetting roomSetting; + private GameSetting gameSetting; + private RoomState state = RoomState.WAITING; - private List questions; + private Player host; - private Map playerSessionMap; + private List questions; - private final LocalDateTime createdAt = LocalDateTime.now(); + private Map playerSessionMap; + private final LocalDateTime createdAt = LocalDateTime.now(); } diff --git a/backend/src/main/java/io/f1/backend/domain/game/RoomManager.java b/backend/src/main/java/io/f1/backend/domain/game/RoomManager.java index 0d529dc1..099cff56 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/RoomManager.java +++ b/backend/src/main/java/io/f1/backend/domain/game/RoomManager.java @@ -4,5 +4,5 @@ import java.util.concurrent.ConcurrentHashMap; public class RoomManager { - private final Map rooms = new ConcurrentHashMap<>(); + private final Map rooms = new ConcurrentHashMap<>(); } diff --git a/backend/src/main/java/io/f1/backend/domain/game/RoomSetting.java b/backend/src/main/java/io/f1/backend/domain/game/RoomSetting.java index 5dbbd8b5..ebb441f8 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/RoomSetting.java +++ b/backend/src/main/java/io/f1/backend/domain/game/RoomSetting.java @@ -1,3 +1,3 @@ package io.f1.backend.domain.game; -public record RoomSetting (String title, int maxUserCount, String password){ } +public record RoomSetting(String title, int maxUserCount, String password) {} diff --git a/backend/src/main/java/io/f1/backend/domain/game/RoomState.java b/backend/src/main/java/io/f1/backend/domain/game/RoomState.java index 3de024df..4898c776 100644 --- a/backend/src/main/java/io/f1/backend/domain/game/RoomState.java +++ b/backend/src/main/java/io/f1/backend/domain/game/RoomState.java @@ -1,5 +1,7 @@ package io.f1.backend.domain.game; public enum RoomState { - WAITING, PLAYING, FINISHED -} \ No newline at end of file + WAITING, + PLAYING, + FINISHED +} diff --git a/backend/src/main/java/io/f1/backend/domain/question/entity/Question.java b/backend/src/main/java/io/f1/backend/domain/question/entity/Question.java index 94b123ee..cc3ad718 100644 --- a/backend/src/main/java/io/f1/backend/domain/question/entity/Question.java +++ b/backend/src/main/java/io/f1/backend/domain/question/entity/Question.java @@ -2,6 +2,7 @@ import io.f1.backend.domain.quiz.entity.Quiz; import io.f1.backend.global.entity.BaseEntity; + import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -16,18 +17,17 @@ @Entity public class Question extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name="quiz_id", nullable = false) - private Quiz quiz; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @Column(nullable=false) - private String answer; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "quiz_id", nullable = false) + private Quiz quiz; - @OneToOne(mappedBy = "question", cascade = CascadeType.REMOVE) - private TextQuestion textQuestion; + @Column(nullable = false) + private String answer; + @OneToOne(mappedBy = "question", cascade = CascadeType.REMOVE) + private TextQuestion textQuestion; } diff --git a/backend/src/main/java/io/f1/backend/domain/question/entity/TextQuestion.java b/backend/src/main/java/io/f1/backend/domain/question/entity/TextQuestion.java index f6815c4e..e395e5d6 100644 --- a/backend/src/main/java/io/f1/backend/domain/question/entity/TextQuestion.java +++ b/backend/src/main/java/io/f1/backend/domain/question/entity/TextQuestion.java @@ -1,7 +1,5 @@ package io.f1.backend.domain.question.entity; -import io.f1.backend.domain.quiz.entity.Quiz; -import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -13,15 +11,14 @@ @Entity public class TextQuestion { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @OneToOne - @JoinColumn(name = "question_id", nullable = false) - private Question question; - - @Column(nullable = false) - private String content; + @OneToOne + @JoinColumn(name = "question_id", nullable = false) + private Question question; + @Column(nullable = false) + private String content; } diff --git a/backend/src/main/java/io/f1/backend/domain/quiz/entity/Quiz.java b/backend/src/main/java/io/f1/backend/domain/quiz/entity/Quiz.java index 8b09952b..5ca9b550 100644 --- a/backend/src/main/java/io/f1/backend/domain/quiz/entity/Quiz.java +++ b/backend/src/main/java/io/f1/backend/domain/quiz/entity/Quiz.java @@ -3,6 +3,7 @@ import io.f1.backend.domain.question.entity.Question; import io.f1.backend.domain.user.entity.User; import io.f1.backend.global.entity.BaseEntity; + import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -14,34 +15,34 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; + import java.util.ArrayList; import java.util.List; @Entity public class Quiz extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @OneToMany(mappedBy = "quiz", cascade = CascadeType.REMOVE) - private List questions = new ArrayList<>(); + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @Column(nullable = false) - private String title; + @OneToMany(mappedBy = "quiz", cascade = CascadeType.REMOVE) + private List questions = new ArrayList<>(); - @Column(nullable = false) - private String description; + @Column(nullable = false) + private String title; - @Enumerated(EnumType.STRING) - @Column(nullable = false) - private QuizType quizType; + @Column(nullable = false) + private String description; - @Column(nullable = false) - private String thumbnailUrl; + @Enumerated(EnumType.STRING) + @Column(nullable = false) + private QuizType quizType; - @ManyToOne - @JoinColumn(name = "creator_id") - private User creator; + @Column(nullable = false) + private String thumbnailUrl; + @ManyToOne + @JoinColumn(name = "creator_id") + private User creator; } diff --git a/backend/src/main/java/io/f1/backend/domain/quiz/entity/QuizType.java b/backend/src/main/java/io/f1/backend/domain/quiz/entity/QuizType.java index 5495ed61..59a14cff 100644 --- a/backend/src/main/java/io/f1/backend/domain/quiz/entity/QuizType.java +++ b/backend/src/main/java/io/f1/backend/domain/quiz/entity/QuizType.java @@ -1,5 +1,7 @@ package io.f1.backend.domain.quiz.entity; public enum QuizType { - TEXT, IMAGE, AUDIO + TEXT, + IMAGE, + AUDIO } diff --git a/backend/src/main/java/io/f1/backend/domain/stat/entity/Stat.java b/backend/src/main/java/io/f1/backend/domain/stat/entity/Stat.java index f494b371..5bcb8b3a 100644 --- a/backend/src/main/java/io/f1/backend/domain/stat/entity/Stat.java +++ b/backend/src/main/java/io/f1/backend/domain/stat/entity/Stat.java @@ -2,6 +2,7 @@ import io.f1.backend.domain.user.entity.User; import io.f1.backend.global.entity.BaseEntity; + import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; @@ -14,21 +15,20 @@ @Entity public class Stat extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "user_id", nullable = false) - private User user; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @Column(nullable = false) - private Long totalGames; + @OneToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "user_id", nullable = false) + private User user; - @Column(nullable = false) - private Long winningGames; + @Column(nullable = false) + private Long totalGames; - @Column(nullable = false) - private Long score; + @Column(nullable = false) + private Long winningGames; + @Column(nullable = false) + private Long score; } diff --git a/backend/src/main/java/io/f1/backend/domain/user/entity/User.java b/backend/src/main/java/io/f1/backend/domain/user/entity/User.java index 0abf8757..eae02506 100644 --- a/backend/src/main/java/io/f1/backend/domain/user/entity/User.java +++ b/backend/src/main/java/io/f1/backend/domain/user/entity/User.java @@ -2,6 +2,7 @@ import io.f1.backend.domain.stat.entity.Stat; import io.f1.backend.global.entity.BaseEntity; + import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -9,27 +10,28 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.OneToOne; + import java.time.LocalDateTime; @Entity public class User extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; - @OneToOne(mappedBy = "user", cascade = CascadeType.ALL) - private Stat stat; + @OneToOne(mappedBy = "user", cascade = CascadeType.ALL) + private Stat stat; - @Column(unique = true, nullable = false) - private String nickname; + @Column(unique = true, nullable = false) + private String nickname; - @Column(nullable = false) - private String provider; + @Column(nullable = false) + private String provider; - @Column(nullable = false) - private String providerId; + @Column(nullable = false) + private String providerId; - @Column(nullable = false) - private LocalDateTime lastLogin; + @Column(nullable = false) + private LocalDateTime lastLogin; } diff --git a/backend/src/main/java/io/f1/backend/global/config/WebConfig.java b/backend/src/main/java/io/f1/backend/global/config/WebConfig.java index c8beac00..224c315d 100644 --- a/backend/src/main/java/io/f1/backend/global/config/WebConfig.java +++ b/backend/src/main/java/io/f1/backend/global/config/WebConfig.java @@ -1,5 +1,3 @@ package io.f1.backend.global.config; -public class WebConfig { - -} +public class WebConfig {} diff --git a/backend/src/main/java/io/f1/backend/global/config/WebSocketConfig.java b/backend/src/main/java/io/f1/backend/global/config/WebSocketConfig.java new file mode 100644 index 00000000..e2651ff7 --- /dev/null +++ b/backend/src/main/java/io/f1/backend/global/config/WebSocketConfig.java @@ -0,0 +1,23 @@ +package io.f1.backend.global.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.messaging.simp.config.MessageBrokerRegistry; +import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; +import org.springframework.web.socket.config.annotation.StompEndpointRegistry; +import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; + +@Configuration +@EnableWebSocketMessageBroker +public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { + + @Override + public void registerStompEndpoints(StompEndpointRegistry registry) { + registry.addEndpoint("/ws/game-room").setAllowedOriginPatterns("*"); + } + + @Override + public void configureMessageBroker(MessageBrokerRegistry registry) { + registry.enableSimpleBroker("/sub"); + registry.setApplicationDestinationPrefixes("/pub"); + } +} diff --git a/backend/src/main/java/io/f1/backend/global/entity/BaseEntity.java b/backend/src/main/java/io/f1/backend/global/entity/BaseEntity.java index fb532edd..f3040f6f 100644 --- a/backend/src/main/java/io/f1/backend/global/entity/BaseEntity.java +++ b/backend/src/main/java/io/f1/backend/global/entity/BaseEntity.java @@ -2,21 +2,21 @@ import jakarta.persistence.EntityListeners; import jakarta.persistence.MappedSuperclass; -import java.time.LocalDateTime; + import lombok.Getter; + import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import java.time.LocalDateTime; + @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class BaseEntity { - @CreatedDate - private LocalDateTime createdAt; - - @LastModifiedDate - private LocalDateTime updatedAt; + @CreatedDate private LocalDateTime createdAt; + @LastModifiedDate private LocalDateTime updatedAt; } diff --git a/backend/src/main/java/io/f1/backend/global/exception/CustomException.java b/backend/src/main/java/io/f1/backend/global/exception/CustomException.java index 763994df..2cd6202f 100644 --- a/backend/src/main/java/io/f1/backend/global/exception/CustomException.java +++ b/backend/src/main/java/io/f1/backend/global/exception/CustomException.java @@ -2,7 +2,7 @@ public class CustomException extends RuntimeException { - public CustomException(String message) { - super(message); - } + public CustomException(String message) { + super(message); + } } diff --git a/backend/src/main/java/io/f1/backend/global/security/enums/Role.java b/backend/src/main/java/io/f1/backend/global/security/enums/Role.java index b9bfb921..1e12584e 100644 --- a/backend/src/main/java/io/f1/backend/global/security/enums/Role.java +++ b/backend/src/main/java/io/f1/backend/global/security/enums/Role.java @@ -1,5 +1,6 @@ package io.f1.backend.global.security.enums; public enum Role { - USER, ADMIN + USER, + ADMIN } diff --git a/backend/src/test/java/io/f1/backend/BackendApplicationTests.java b/backend/src/test/java/io/f1/backend/BackendApplicationTests.java index 1a17a4c1..b260d7b6 100644 --- a/backend/src/test/java/io/f1/backend/BackendApplicationTests.java +++ b/backend/src/test/java/io/f1/backend/BackendApplicationTests.java @@ -6,8 +6,6 @@ @SpringBootTest class BackendApplicationTests { - @Test - void contextLoads() { - } - + @Test + void contextLoads() {} }