๊ฐ๋ฐ์ผ์ : 7/19/2024 ~ 9/18/2024
์กฐ์ ์ ํ๋๋ฅผ ํ ๋ง๋ก ํ ์ ๋ต ๋ณด๋๊ฒ์์ ๋๋ค. ๋ชจ๋ ธํด๋ฆฌ์ ์ท๋์ด๋ฅผ ๊ฒฐํฉํ ๋ ์ฐฝ์ ์ธ ๋ฐฉ์์ผ๋ก, ํ๋์ ๋ค์ํ ์ง์ญ์ ํํํ๋ฉฐ ๊ฒฝ์ํฉ๋๋ค. ํฉ๊ธ์ด์ ์ ๊ฐ์ ๋ฏธ๋๊ฒ์๋ค์ด ์ผ๋ถ ์นธ๋ค์ ํฌ์งํด์์ด ๊ฒ์ ์งํ์ด ๋์ฑ ๋์ฑ๋ก์์ง๋ฉฐ, ๋งค๋ฒ ์๋ก์ด ๋์ ์ ์ ๊ณตํฉ๋๋ค.
Name | Role | Github |
---|---|---|
์ ๋ฏผ์ | Main Game, Frontend | |
๋ฐฐ๋์ฐ | Login, Backend | https://github.com/dongwoobae |
์ด๋ณํ | Lobby, Chat, Frontend | https://github.com/LBang98 |
์ดํ์ฑ | Deployment, Backend | https://github.com/themerous |
์ ํ์ฉ | Login, Backend | http://github.com/marx3042 |
์ต์ํ | Minigame(Solo) | https://github.com/andychoi0819 |
ํ์นํ | Minigame(Multi) | https://github.com/seungpil-huh |
์์ ์ค
์์ ์ค
์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ ๊ณต๊ฐ(1)
- DNS/SSL
- ๊ฐ๋น์ ๋ค์ด๋ฐ ์๋ฒ๋ฅผ ํตํ DNS ๊ตฌ์ถ
- ๋ค์ด๋ฒ Certificate Manager๋ฅผ ํตํ์ฌ SSL ์ธ์ฆ์ ๋ฐ๊ธ
- Load Balancer
- ๋ค์ด๋ฒ ํด๋ผ์ฐ๋์ Application Loadbalancer๋ฅผ ์ฌ์ฉ
- Path๋ถ๊ธฐ๋ฅผ ํตํ์ฌ ์๋น์ค๋ณ๋ก ๋ถ๊ธฐ์ ์ค์
- /api : CRUD๋ฐ ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ๋ก์ง์ ์คํ
- /ws : ์ฑํ ๋ฐ ๋ฉ์ธ๊ฒ์์ ์น์์ผ ํต์ ์ ๋ด๋น
- /nws : ๋ฏธ๋๊ฒ์๋ค์ด ๊ตฌํ๋ ์๋ฒ
- / : ํด๋ผ์ด์ธํธ ํ์ด์ง
- Servers
- ์ด ๋๊ฐ์ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์๋ฒ์์ ๋ณต์์ Docker Containerํ์ฉ
์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ ๊ณต๊ฐ(2)
- Github Action๋ฅผ ํ์ฉํ CI/CD ํ๋ก์ธ์ค ๊ตฌ์ถ
- CI : Main branch๋ก push๋๋ pull request์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋ฉด repository์ ๋ด์ญ์ ํ ๋๋ก build๋ฅผ ์คํ. ๋น๋ ์ฑ๊ณต์ Dockerfile์ ํ ๋๋ก Docker Image๋ฅผ ์ ์ํ์ฌ ๋ค์ด๋ฒ ํด๋ผ์ฐ๋์ Container Reqistry๋ก ์ด๋ฏธ์ง๋ฅผ ์ ์ก
- CD : ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ CLI๋ฅผ ํตํ์ฌ ํ ๊นํ๋ธ ์ก์ ์คํ์๋ฒ์์ ๋ฐฐํฌ ์๋ฒ๋ก์ ์ ๊ทผ ๊ถํ ๋ถ์ฌ ํ ssh ์ ์์ ํตํ ์๊ฒฉ ์ ์. ์ดํ ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ Container Registry์์ ์ ๊ท ์ด๋ฏธ์ง๋ฅผ pullํ ํ ํ์ฌ ์ฌ์ฉ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ ์งํ๊ณ ์๋ก pullํ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ์ ์ปจํ ์ด๋ ์คํ. ์์ ์๋ฃ ํ ๋ถํ์ํ ์ด๋ฏธ์ง ๋ฒ์ ผ ์ ๊ฑฐ ๋ฐ ์๋ฒ ์ ๊ทผ๊ถํ ์ ๊ฑฐ
- ์ด 4๊ฐ์ Repository๋ฅผ ์ด์ฉํ์ฌ ๊ฐ Repository๋ณ๋ก ๊ฐ๊ฐ์ ์๋น์ค๋ฅผ ๊ตฌ์ถ
- JoseonpaldoFront : NextJS 14 ๊ธฐ๋ฐ์ ํ๋ก ํธ์๋ ์๋ฒ
- JoseonpaldoBack : ๋ก๊ทธ์ธ ์ธ์ฆ ๋ฐ CRUD๋ค์ด ์ด๋ฃจ์ด์ง๋ SpringBoot ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์๋ฒ
- maingmaews : ๋ฉ์ธ ๊ฒ์์ ์น์์ผ ํต์ ๋ฐ ์ฑํ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๋ Springboot ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์๋ฒ
- minigamews : ๋ฏธ๋๊ฒ์๋ค์ ์น์์ผ ํต์ ๋ฐ SSE๋ฅผ ์ฒ๋ฆฌํ๋ ExpressJS ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์๋ฒ
์ด๋ฏธ์ง ๋ค์ด๊ฐ ๊ณต๊ฐ(3) ์ด๋ฏธ์ง ๋ค์ด๊ฐ ๊ณต๊ฐ(3)
- ๋ณ๋์ ํ์๊ฐ์
์์ด ์ผ์
๋ก๊ทธ์ธ ์ต์
๋ง ์ ๊ณต
- ์ด๋ฏธ ๋ง์ ์ฌ์ฉ์๋ค์ด ์์ ๋ฏธ๋์ด ๊ณ์ ์ ๊ฐ์ง๊ณ ์์ด ๋ณ๋์ ํ์ ๊ฐ์ ์ ์ฐจ ์์ด ๊ฐํธํ๊ฒ ๋ก๊ทธ์ธ ๊ฐ๋ฅ
- ๋ถํ์ํ ๊ฐ์ ์ ์ฐจ๋ฅผ ์๋ตํ๊ณ ๋น ๋ฅด๊ฒ ์๋น์ค๋ฅผ ์ด์ฉ ๊ฐ๋ฅ
- ๋ณต์กํ ๋ณด์ ๊ด๋ฆฌ๋ ์์ ์์ฑ, ์ฌ์ดํธ ์ด์์๋ ์์ฒด์ ์ธ ๋ณด์ ๊ด๋ฆฌ์ ๋ถ๋ด์ ์ค์
์ด๋ฏธ์ง ๋ค์ด๊ฐ ๊ณต๊ฐ(3)
- ๋ก๊ทธ์ธ ํ๋ก์ธ์ค
- JWT
- ๋ฐ๊ธํ ํ ํฐ์ ํ์ธํ๋ ํ๋ก์ธ์ค โJWT Auth Filterโ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ ์
- accessํ ํฐ์ด ์๋ณ์กฐ, ๋๋ ๋ง๋ฃ๋์๋์ง ํ์ธํ๋ ์ญํ ์ ์ํ
- access Token์ด ๋ณ์กฐ๋์ง ์๊ณ ๋ง๋ฃ๋ง ๋์์ ๊ฒฝ์ฐ refresh ํ ํฐ์ผ๋ก accessToken์ ์์ฒญํ ์ ๋ณด์ ํจ๊ป ์ฌ๋ฐ๊ธ
- accessToken๊ณผ refreshToken์ด ํจ๊ฒ ๋ง๋ฃ๋ ๊ฒฝ์ฐ ๋ก๊ทธ์์ ์ํ๋ฅผ ๋ํ๋
- CSRF
- STATELESSํ ๋ก๊ทธ์ธ ๋ฐฉ์์ ์ฑํํ์ฌ Spring Security์ ๋ํดํธ ํํฐ๋ฅผ ์ฌ์ฉ ์ค์ง
- JWT
- ๋ก๊ทธ์์ ํ๋ก์ธ์ค
- ํ ํฐ๋ค์ ๋ง๋ฃ ๋๋ ๋ก๊ทธ์์ ๋ฒํผ์ ํด๋ฆญ์ ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋ ํ ํฐ์ ์ญ์
- ํ ํฐ ์ญ์ ์ ๋์์ ๋ฐฑ์๋ ์๋ฒ๋ก ๋ก๊ทธ์์ ์์ฒญ ์ ๋ฌ
- ์์ฒญ์ ๋ณด๋ธ ์ฌ์ฉ์์ ์์ ํ๋ก๋ฐ์ด๋๊ฐ ์ ๋ฌํ accessToken์ ๋ง๋ฃ ์์ฒญ
- DB์์ ํด๋น ์ฌ์ฉ์์ ์์ ํ๋ก๋ฐ์ด๋๊ฐ ์ ๊ณตํ accessToken์ ์ ๋ณด ์ญ์
- GameRoom
- ํ์ฌ ์กด์ฌํ๋ ๋ชจ๋ ๊ฒ์๋ฐฉ ํ์
- ์งํ์ฌ๋ถ์ ๋ฐ๋ผ ์กฐ์ฌ ๊ฐ๋ฅ
- ๋ฐฉ์ฅ์ ์ด๋ฆ ๋๋ ๋ฐฉ์ ์ ๋ชฉ์ ํตํ ๊ฒ์๊ธฐ๋ฅ ์ ๊ณต ์ด๋ฏธ์ง ๋ค์ด๊ฐ ๊ณต๊ฐ(4)
- Mypage
- ํ์ฌ ๋์ ์น๋ฅ ํ์ธ ๊ฐ๋ฅ
- ๋ด๊ฐ ์ฌ์ฉ์ค์ธ ๋๋ค์ ๋ณ๊ฒฝ๊ธฐ๋ฅ ์ ๊ณต
- Ranking
- ์น๋ฅ ๊ธฐ๋ฐ์ ๋ญํน ํ์ด์ง ์ ๊ณต
- ๊ฐ์ ์น๋ฅ ์ผ์ ํ์๊ฐ ๋ ๋ง์ ์ฌ๋์ด ๋์ฑ ๋์ ๋ญํน ์์
- 2์ธ/4์ธ ๋ญํน์ ๋ฐ๋ก ํ์
- STOMP ํ๋กํ ์ฝ์ ํ์ฉํ์ฌ WebSocket ๊ธฐ๋ฐ์ ์๋ฐฉํฅ ํต์ ์ ๊ตฌํ
- ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ์ Pub/Sub ํจํด์ ์ ์ฉํ์ฌ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌ
- ๊ฒฝ์ฃผ๊ฒ์
- ๊ฒ์์ ์๋ฒ์ ์ ํ๊ธฐ ์ํ ์ด๋ฒคํธ์ฑ ๊ฒ์
- ์๋ฒ๋ ๋งค๋ฒ ํ๋ ์ด์ด์๊ฒ ๋๋ค ์๋ ๊ฐ์ ์์ฑํ๊ณ ์ด๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ์ก
- ํด๋ผ์ด์ธํธ๋ ์ด ์๋ ๊ฐ์ ๋ฐ์ ์์ ์ ์บ๋ฆญํฐ๊ฐ ๊ฒฝ์ฃผ ํธ๋์์ ํด๋น ์๋์ ๋ง์ถฐ ์ด๋ํ๋๋ก ๋ ๋๋ง
- ์ ๋ณดํ์ธ
- ๋ฐฉ ์์ ์๋ ์ฌ๋๋ค์ ์น๋ฅ ๋ฑ์ ์ ๋ณด ํ์ธ ๊ฐ๋ฅ
- ์น๊ตฌ์ด๋
- ๋น ์๋ฆฌ๊ฐ ์์ ๊ฒฝ์ฐ ์น๊ตฌ ์ด๋ ๊ฐ๋ฅ
- ์น๊ตฌ ์ด๋ ํด๋ฆญ์ ๋ด ์น๊ตฌ์ฐฝ์์ ์ํ๋ ์น๊ตฌ๋ฅผ ์ด๋ํ ์ ์๋ค
- ๋์์์๊ฒ๋ ์๋ฝ/๊ฑฐ์ ์ ํ์ง๊ฐ ์ฃผ์ด์ง ๋ฉ์ธ์ง ๋ชจ๋ฌ์ด ์ถ๋ ฅ๋๋ค
- WebSocket ๊ธฐ๋ฐ์ ์ฑํ ์๋ฒ๋ฅผ ๊ตฌ์ถ
- Spring WebSocket๊ณผ STOMP๋ฅผ ์ฐ๋ํ์ฌ ๋ฉ์์ง ์ ์ก ์ง์ฐ์ ์ต์ํ
- ํ๋ ์ด์ด๊ฐ ์ค์๊ฐ์ผ๋ก ์น๊ตฌ๋ฅผ ๊ฒ์์ ์ด๋ํ๊ณ ์ํธ์์ฉํ ์ ์๋๋ก ๋น๋๊ธฐ ๋ฉ์์ง ๋ฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํต์ ์ ๋์
- ์ฌ์ฉ์ ๊ฐ์ ์ค์๊ฐ ๋ฐ์ดํฐ ๋๊ธฐํ์ ์ฆ๊ฐ์ ์ธ ์น๊ตฌ ์ด๋๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ฐ๋ฐ
๋ค์ํ ๋ฉํฐํ๋ ์ด์ด ๋ฏธ๋๊ฒ์์ ์ ๊ณตํ๋ ์น ๊ฒ์์ ๋๋ค. ๊ฒ์์ ์๋ฒ์ ์ค์๊ฐ์ผ๋ก ํต์ ํ๋ฉฐ, ์ฌ๋ฌ ๋ช ์ ํ๋ ์ด์ด๊ฐ ๋์์ ์ฆ๊ธธ ์ ์๋๋ก ๊ตฌํ๋์์ต๋๋ค.
-
์ฃผ์ ๊ธฐ๋ฅ
- ์ค์๊ฐ ๋ฉํฐํ๋ ์ด์ด: Socket.io๋ฅผ ์ฌ์ฉํด ์ค์๊ฐ์ผ๋ก ํ๋ ์ด์ด ๊ฐ ์ํธ์์ฉ์ ์ง์ํฉ๋๋ค.
- ์ค์ํ๋ ๊ฒ์ ๋ก์ง: ๊ฒ์ ๋ก์ง์ ์๋ฒ์์ ์ฒ๋ฆฌ๋์ด ํด๋ผ์ด์ธํธ ๊ฐ ๋๊ธฐํ๋ฅผ ์ ์งํ๊ณ ๊ณต์ ํ ๊ฒ์ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ๋ค์ํ ๋ฏธ๋๊ฒ์: ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ท์น๊ณผ ๋ชฉํ๋ฅผ ๊ฐ์ง ๋ค ๊ฐ์ ๋ฏธ๋๊ฒ์์ ์ ๊ณตํฉ๋๋ค.
-
Singleplay
- Alien Shooter : ์ฐ์ฃผ์ ์ ์ข์ฐ๋ก ์ด๋์ํค๋ฉฐ ์ธ๊ณ์ธ๊ณผ ํน๋ณํ ์ ๋ค์ ์ฒ์น
- ๊ฒ์ ๋ฐฉ๋ฒ
- ์ข์ฐ ๋ฒํผ์ ํตํ์ฌ ์ด๋
- ์คํ์ด์ค ๋ฒํผ์ ํ์ฉํ์ฌ ์ฌ๊ฒฉ ๋ฐ ์ฌ์ฅ์ (ํํ 10๋ฐ)
- ๊ท์น
- ์ ํ ์๊ฐ 30์ด
- ์ ์ด ๋๋ฅผ ์ง๋ ๋๊น์ง ๊ฒฉ์ถ ์คํจ์ ํจ๋ฐฐ
- ๊ฒ์ ๋ก์ง
- Alien ์์ฑ: ๋งค์ด๋ง๋ค ์๋ก์ด ์ธ๊ณ์ธ์ด ์์ฑ๋๋ฉฐ ์ต๋ 15๊ฐ์ ์ธ๊ณ์ธ์ด ๋์์ ๋ฑ์ฅํฉ๋๋ค.
- ์ถฉ๋ ๊ฐ์ง: ํํ๊ณผ ์ธ๊ณ์ธ ๋๋ ํน๋ณํ ์ ์ด ์ถฉ๋ํ ๋ ์ฒ๋ฆฌ๋๋ฉฐ, ์ ์ค๋ ์ธ๊ณ์ธ์ ์ ๊ฑฐ๋ฉ๋๋ค
- ๊ฒ์ ๋ฐฉ๋ฒ
- ๊ฐ์๋ฐ์๋ณด : ๊ฐ์, ๋ฐ์, ๋ณด ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์ปดํจํฐ์ 3๋ผ์ด๋ ๋๊ฒฐ
- ๊ฒ์ ๋ฐฉ๋ฒ
- ๊ฐ์, ๋ฐ์, ๋ณด ์ค ํ๊ฐ์ง๋ฅผ ์ ํ
- ๊ท์น
- ๊ฐ ๋ผ์ด๋๋ณ ์ ํ์๊ฐ 3์ด
- ๋ฌด์น๋ถ์ ํด๋น ๋ผ์ด๋ ์ฌ์์
- ๊ฒ์ ๋ก์ง
- ํ์ด๋จธ: ๊ฐ ๋ผ์ด๋๋ 3์ด ๋ด์ ์ ํํ์ง ์์ผ๋ฉด ์๋์ผ๋ก ํจ๋ฐฐ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ์ ์ ๊ณ์ฐ: ํ๋ ์ด์ด์ ์ปดํจํฐ์ ์นํจ๋ฅผ ๊ธฐ๋กํ์ฌ ๊ฒ์์ด ์ข ๋ฃ๋๋ฉด ์น์๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค.
- ๊ฒ์ ๋ฐฉ๋ฒ
- ํญํ ํด์ฒด
- ๊ฒ์ ๋ฐฉ๋ฒ
- ํ๋ ์ด์ด๋ ๋ ๊ฐ์ง ์์ด์ด(๋นจ๊ฐ, ํ๋) ์ค ํ๋๋ฅผ ์ ํํ์ฌ ํญํ์ ํด์ฒด
- ๊ฒ์ ๋ก์ง
- ํด์ฒด ์ฑ๊ณต/์คํจ: ์ฌ๋ฐ๋ฅธ ์์ด์ด๋ฅผ ์ ํํ๋ฉด ํญํ์ด ํด์ฒด๋๊ณ , ์๋ชป๋ ์์ด์ด๋ฅผ ์ ํํ๋ฉด ๊ฒ์์ด ์ข ๋ฃ๋ฉ๋๋ค
- ๊ฒ์ ๋ฐฉ๋ฒ
- ํ๋ซํผ ๊ฒ์ : ์ฅ์ ๋ฌผ๊ณผ ๋ก์ผ์ ํผํ๋ฉด์ ์ ํ๋ ์๊ฐ ๋ด์ ๋ชฉํ์ ๋๋ฌ
- ๊ฒ์ ๋ฐฉ๋ฒ
- ํ์ดํ ํค๋ฅผ ์ด์ฉํ์ฌ ์ข์ฐ ์ด๋
- ์คํ์ด์ค๋ฅผ ํตํ์ฌ ์ ํ
- gํค๋ฅผ ํตํ ์ฌ๋ค๋ฆฌ์์ ์ํธ์์ฉ
- ๊ฒ์ ๋ก์ง
- ์ค๋ ฅ ๋ฐ ์ ํ: ํ๋ ์ด์ด์ ์ค๋ ฅ๊ณผ ์ ํ ๋ก์ง์ด ๊ตฌํ๋์ด ์์ผ๋ฉฐ, ํ๋ซํผ์ ๋์ฐฉํ๋ฉด ์ ํ ์ํ๊ฐ ํด์ ๋ฉ๋๋ค
- ๋ก์ผ ์์ฑ ๋ฐ ์ด๋: 5์ด๋ง๋ค ์๋ก์ด ๋ก์ผ์ด ์์ฑ๋๋ฉฐ, ๋ก์ผ์ ํ๋ ์ด์ด๋ฅผ ๊ณต๊ฒฉํ๊ธฐ ์ํด ๋ ์์ต๋๋ค
- ๊ฒ์ ๋ฐฉ๋ฒ
- Alien Shooter : ์ฐ์ฃผ์ ์ ์ข์ฐ๋ก ์ด๋์ํค๋ฉฐ ์ธ๊ณ์ธ๊ณผ ํน๋ณํ ์ ๋ค์ ์ฒ์น
-
Multiplay
- ๋ฌด๊ถํ ๊ฝ์ด ํผ์์ต๋๋ค : 4์ธ์ฉ ์๋ฐ์ด๋ฒ ๊ฒ์์ผ๋ก, ์ ๋๊ฐ ๋์๋ณด๋ ํ์ด๋ฐ์ ํผํด ๊ฒฐ์น์ ์ ๋จผ์ ๋์ฐฉํ๋ ํ๋ ์ด์ด๊ฐ ์น๋ฆฌ
- ๊ฒ์ ๋ฐฉ๋ฒ
- ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฌ ์์ผ๋ก ์ ์งํฉ๋๋ค.
- ์ ๋๊ฐ "๋ฌด๊ถํ ๊ฝ์ด ํผ์์ต๋๋ค"๋ฅผ ์ธ์น ๋๋ง ์์ง์ ๋๋ค.
- ์ ๋๊ฐ ๋์๋ณผ ๋ ์์ง์ด๋ฉด ํ๋ฝํฉ๋๋ค.
- ๊ท์น
- ์ ํ ์๊ฐ์ 1๋ถ์ ๋๋ค.
- ๊ฐ์ฅ ๋จผ์ ๊ฒฐ์น์ ์ ๋์ฐฉํ ํ๋ ์ด์ด๋ง ์น๋ฆฌํฉ๋๋ค.
- ์๊ฐ ๋ด์ ๋๋ฌํ์ง ๋ชปํ๋ฉด ์ ์ ํ๋ฝํฉ๋๋ค.
- ์ ๋์ ๋์๋ณด๋ ํ์ด๋ฐ์ ๋๋ค์ ๋๋ค.
- ๊ฒ์ ๋ฐฉ๋ฒ
- ์ค๋ค์ดํฌ ๊ฒ์ : ๋ฑ์ ์กฐ์ข
ํ์ฌ ๊ฐ์ฅ ์ค๋ ์ด์๋จ๊ฑฐ๋ ๋์ ์ ์๋ฅผ ์ป๋ ํ๋ ์ด์ด๊ฐ ์น๋ฆฌํ๋ 4์ธ์ฉ ์๋ฐ์ด๋ฒ ๊ฒ์
- ๊ฒ์ ๋ฐฉ๋ฒ
- ๋ฐฉํฅํค (w,a,s,d) ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฑ์ ๋ฐฉํฅ์ ์กฐ์ข ํฉ๋๋ค.
- ์ผ๋ฐ ์ฌ๊ณผ์ ํฉ๊ธ ์ฌ๊ณผ๋ฅผ ๋จน์ด ์ ์๋ฅผ ํ๋ํ๊ณ ๊ผฌ๋ฆฌ๋ฅผ ๋๋ฆฝ๋๋ค.
- ๋ค๋ฅธ ๋ฑ, ์์ ์ ๋ชธํต, ๋ฒฝ์ ๋ถ๋ชํ์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
- ๊ท์น
- ์ผ๋ฐ ์ฌ๊ณผ: 10์ ํ๋, ๊ผฌ๋ฆฌ +1 ์ฆ๊ฐ
- ํฉ๊ธ ์ฌ๊ณผ: 50์ ํ๋, ๊ผฌ๋ฆฌ +5 ์ฆ๊ฐ
- ๊ผฌ๋ฆฌ๊ฐ ๊ธธ์ด์ง์๋ก ์กฐ์ ๋์ด๋๊ฐ ์์นํฉ๋๋ค.
- ๋ง์ง๋ง๊น์ง ์์กดํ๊ฑฐ๋ ์ต๊ณ ์ ์๋ฅผ ํ๋ํ๋ฉด ์น๋ฆฌํฉ๋๋ค.
- ๊ฒ์ ๋ฐฉ๋ฒ
- ๋ฌด๊ถํ ๊ฝ์ด ํผ์์ต๋๋ค : 4์ธ์ฉ ์๋ฐ์ด๋ฒ ๊ฒ์์ผ๋ก, ์ ๋๊ฐ ๋์๋ณด๋ ํ์ด๋ฐ์ ํผํด ๊ฒฐ์น์ ์ ๋จผ์ ๋์ฐฉํ๋ ํ๋ ์ด์ด๊ฐ ์น๋ฆฌ
- swagger์ spring docs๋ฅผ ์ด์ฉํ์ฌ ์์ฑ
- authorize ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ spring security๋ก ๋ณดํธ๋ ์๋ํฌ์ธํธ๋ ํ ์คํธ ๊ฐ๋ฅ