Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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