Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions backend/src/main/java/io/f1/backend/BackendApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
21 changes: 11 additions & 10 deletions backend/src/main/java/io/f1/backend/domain/admin/entity/Admin.java
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.f1.backend.domain.game;

public enum ConnectionState {
DISCONNECTED, CONNECTED
DISCONNECTED,
CONNECTED
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
8 changes: 4 additions & 4 deletions backend/src/main/java/io/f1/backend/domain/game/Player.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
21 changes: 11 additions & 10 deletions backend/src/main/java/io/f1/backend/domain/game/Room.java
Original file line number Diff line number Diff line change
@@ -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<Question> questions;
private Player host;

private Map<String, Player> playerSessionMap;
private List<Question> questions;

private final LocalDateTime createdAt = LocalDateTime.now();
private Map<String, Player> playerSessionMap;

private final LocalDateTime createdAt = LocalDateTime.now();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
import java.util.concurrent.ConcurrentHashMap;

public class RoomManager {
private final Map<Long, Room> rooms = new ConcurrentHashMap<>();
private final Map<Long, Room> rooms = new ConcurrentHashMap<>();
}
Original file line number Diff line number Diff line change
@@ -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) {}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.f1.backend.domain.game;

public enum RoomState {
WAITING, PLAYING, FINISHED
}
WAITING,
PLAYING,
FINISHED
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;
}
37 changes: 19 additions & 18 deletions backend/src/main/java/io/f1/backend/domain/quiz/entity/Quiz.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<Question> 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<Question> 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;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.f1.backend.domain.quiz.entity;

public enum QuizType {
TEXT, IMAGE, AUDIO
TEXT,
IMAGE,
AUDIO
}
26 changes: 13 additions & 13 deletions backend/src/main/java/io/f1/backend/domain/stat/entity/Stat.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
28 changes: 15 additions & 13 deletions backend/src/main/java/io/f1/backend/domain/user/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,36 @@

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;
import jakarta.persistence.GeneratedValue;
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;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
package io.f1.backend.global.config;

public class WebConfig {

}
public class WebConfig {}
Loading