์ค์๊ฐ ๋ฉํฐํ๋ ์ด ๋
ธ๋ ๋ง์ถ๊ธฐ ๊ฒ์์ ๋ฐฑ์๋ ์๋ฒ
Spring Boot ๊ธฐ๋ฐ์ ์ค์๊ฐ ๊ฒ์ ์๋ฒ
- ๐ ์น์ฌ์ดํธ: https://singsonggame.store
- ๐ฑ ํ๋ก ํธ์๋: SingSongGame-FE
๋ค์ํ ๊ฒ์ ๋ชจ๋๋ฅผ ์ง์ํ๋ ์ค์๊ฐ ๋ฉํฐํ๋ ์ด์ด ์์คํ
- Glicko ๋ ์ดํ ์์คํ ๊ธฐ๋ฐ์ MMR ๊ณ์ฐ
- ํฐ์ด ์์คํ (์๋ด๊ธฐ ~ ์ ์ค)
- ๋น ๋ฅธ ์ ๋ต์ผ๋ก ๋์ ์ ์ ํ๋
- ๋ก๋น ์ฑํ : ์ ์ฒด ์ฌ์ฉ์ ๋์ ์ค์๊ฐ ์ฑํ
- ๋ฐฉ ์ฑํ : ๊ฒ์ ๋ฐฉ ๋ด ํ๋ ์ด์ด ๊ฐ ์ฑํ
- ๊ฒ์ ์ค ์ฑํ : ๊ฒ์ ์งํ ์ค ์ค์๊ฐ ์ํต
MMR ๊ธฐ๋ฐ ์๋ ๋งค์นญ์ผ๋ก ๋น์ทํ ์ค๋ ฅ์ ํ๋ ์ด์ด๋ค๊ณผ ๊ฒ์
์นด์นด์ค ์์ ๋ก๊ทธ์ธ์ ํตํ ๊ฐํธํ ์ฌ์ฉ์ ์ธ์ฆ
๋๋ค ๋ ธ๋ ๋ง์ถ๊ธฐ ๊ฒ์: ํค์๋์ ๋ง๋ ๋๋ค์ ๋ ธ๋๋ฅผ ์ฌ์ํ๊ณ ๋น ๋ฅด๊ฒ ๋ง์ถ๋ ๊ฒ์
- Java 17+
- MySQL 8.0+
- Redis 6.0+
# ๋ ํฌ์งํ ๋ฆฌ ํด๋ก
git clone https://github.com/DRS-SingSongGame/SingSongGame-BE.git
cd SingSongGame-BE
# ํ๊ฒฝ ๋ณ์ ์ค์ (.env ํ์ผ ์์ฑ, ๋ฐฐํฌ ์์๋ Github Secrets ์ฌ์ฉ)
JWT_SECRET_KEY=your-jwt-secret-key
KAKAO_CLIENT_ID=your-kakao-client-id
KAKAO_CLIENT_SECRET=your-kakao-client-secret
DB_URL=jdbc:mysql://localhost:3306/singsong
DB_USERNAME=your-db-username
DB_PASSWORD=your-db-password
REDIS_HOST=localhost
REDIS_PORT=6379
# ํ๋ก์ ํธ ๋น๋
./gradlew build
# ์ ํ๋ฆฌ์ผ์ด์
์คํ
./gradlew bootRun
# Docker ์ด๋ฏธ์ง ๋น๋ ๋ฐ ์คํ
docker build -t singsong-backend .
docker run -p 8080:8080 singsong-backend
src/main/java/SingSongGame/BE/
โโโ auth/ # OAuth2 ์ธ์ฆ ์์คํ
โโโ chat/ # ์ค์๊ฐ ์ฑํ
์์คํ
โโโ in_game/ # ๊ฒ์ ๋ก์ง ๋ฐ ์ํ ๊ด๋ฆฌ
โโโ quick_match/ # ๋น ๋ฅธ ๋งค์นญ ์์คํ
โโโ room/ # ๊ฒ์ ๋ฐฉ ๊ด๋ฆฌ
โโโ song/ # ๋
ธ๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ
โโโ user/ # ์ฌ์ฉ์ ๊ด๋ฆฌ
โโโ ai_game/ # AI TTS ๊ฒ์ ๋ชจ๋
โโโ online/ # ์จ๋ผ์ธ ์ฌ์ฉ์ ๊ด๋ฆฌ
โโโ redis/ # Redis ๊ตฌ๋
์ ๋ฐ ์ค์
โโโ common/ # ๊ณตํต ์ ํธ๋ฆฌํฐ
โโโ config/ # ์คํ๋ง ์ค์
โโโ exception/ # ์์ธ ์ฒ๋ฆฌ
์นด์นด์ค ๋ก๊ทธ์ธ โ JWT ํ ํฐ ๋ฐ๊ธ โ ์ฌ์ฉ์ ์ธ์
์์ฑ
๋น ๋ฅธ ๋งค์นญ ์์ฒญ โ MMR ๊ธฐ๋ฐ ๋งค์นญ โ ๊ฒ์ ๋ฐฉ ์์ฑ โ ํ๋ ์ด์ด ๋ฐฐ์น
๊ฒ์ ์์ โ ๋ฌธ์ ์ถ์ โ ์ ๋ต ์ ์ถ โ ์ ์ ๊ณ์ฐ โ ๋ค์ ๋ฌธ์
์ต์ข
์ ์ ๊ณ์ฐ โ MMR ์
๋ฐ์ดํธ โ ํฐ์ด ๋ณ๋ โ ๊ฒฐ๊ณผ ์ ์ฅ
์ ํ๋ฆฌ์ผ์ด์ ์คํ ํ ๋ค์ URL์์ API ๋ฌธ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค:
- Swagger UI:
http://localhost:8080/api/swagger-ui.html
# ์ ์ฒด ํ
์คํธ ์คํ
./gradlew test
# ํน์ ํ
์คํธ ํด๋์ค ์คํ
./gradlew test --tests "TestClassName"
# Production ํ๋กํ์ผ๋ก ์คํ
java -jar -Dspring.profiles.active=prod build/libs/BE-0.0.1-SNAPSHOT.jar
Team DRS
์ด ํ๋ก์ ํธ๋ ํฌ๋ํํค ์ ๊ธ 8๊ธฐ Team DRS์์ ๊ฐ๋ฐํ ์ค์๊ฐ ๋ฉํฐํ๋ ์ด์ด ๋ ธ๋ ๋ง์ถ๊ธฐ ๊ฒ์์ ๋๋ค.