1. ์๋น์ค ๋ฐ ๊ธฐ๋ฅ ์๊ฐ
- 1.1. ๋ง์ถคํ ๊ฒ์ ์ถ์ฒ
- 1.2. ์ธ๊ธฐ ๊ฒ์ / ๋๋ค ๊ฒ์ / ์ค๋์ ๊ฒ์ ์ถ์ฒ
- 1.3. ๊ฒ์ ์ ๋ณด ๋ฐ ์ปค๋ฎค๋ํฐ
- 1.4. ๊ฒ์ / ์ ์ ๊ฒ์
- 1.5. ํ๋กํ
- 1.6. ๊ฒ์ ์ฑํฅ ํ ์คํธ
- 2.1. ๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ
- 2.2. ๋ฉ์ธ ํ๋ฉด (๊ฒ์ ์ถ์ฒ)
- 2.3. ์์ธ ํ์ด์ง
- 2.4. ๊ฒ์ ํ์ด์ง
- 2.5. ํ๋กํ ํ์ด์ง
- 2.6. ์ฑํฅ ํ ์คํธ
- 2.7. ๋ฐ์ํ ์นํ์ด์ง
5. ์ปดํฌ๋ํธ ๊ตฌ์ฑ๋ ๋ฐ Figma
7. ๋น ๋ฐ์ดํฐ & ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ
โ ํ๋ก์ ํธ๋ช : Gamemakase(๊ฒ๋ง์นด์ธ)
โ ํ์ค ์๊ฐ : ๋น ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ์ธ ๋ง์ถคํ ์คํ ๊ฒ์ ์ถ์ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ข ํฉ ๊ฒ์ ์ปค๋ฎค๋ํฐ
โ ๊ฐ๋ฐ ๊ธฐ๊ฐ : 23.02.27 ~ 23.04.08 (6์ฃผ)
โ ํ์ : ์ ์ ์ค ๊น๋์ค ๊ณฝ๋ฏผ์ฃผ ์ฑ์๋น ์ ์ง์ ์ฅ์ ๋ฏผ
โ ์ฌ์ฉ ๊ธฐ์ ์คํ : SpringBoot, React, Django, Docker, AWS + (3. ์์คํ ์ํคํ ์ฒ ์ฐธ๊ณ )
โ ์๊ฐ ์์
โ ์ฌ์ฉ์์ ์คํ ๊ณ์ ๊ณผ ์ฐ๋ํด ํ๋ ์ด ๋ด์ญ์ ๊ธฐ๋ฐํ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฐ ์ถ์ฒ ๊ฒ์์ด ์ ๊ณต๋ฉ๋๋ค.
- ์ถ์ฒ ๋ด์ญ์ (ํ๋ ์ด ๋ด์ญ์ ๋ณ๋์ด ์์ ๊ฒฝ์ฐ) 24์๊ฐ๋ง๋ค ๊ฐฑ์ ๋ฉ๋๋ค.
โ ๋น๋ก๊ทธ์ธ ์ ์ / ํ๋ ์ด ๊ธฐ๋ก์ด ์๋ ์ ์ ๋ฅผ ์ํ ์ธ๊ธฐ๊ฒ์, ๋๋ค ๊ฒ์, ์ค๋์ ๊ฒ์ ์ถ์ฒ ์๋น์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- ์ธ๊ธฐ๊ฒ์์ Peak CCU((Peak Concurrent Users, ์ต๊ณ ๋์ ์ ์์ ์)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๊ณต๋ฉ๋๋ค.
- ๋๋ค๊ฒ์์ ํ์ ์ด๋ ์ถ์ฒ ์์ ๊ธฐ๋ฐํด์ ๋ค์ํ ๊ฒ์๋ค์ด ๋๋ค์ผ๋ก ๊ณ์ ์ ๊ณต๋ฉ๋๋ค(๋ฌดํ ์คํฌ๋กค ์ ์ฉ)
- ์ค๋์ ์ถ์ฒ ๊ฒ์์ 24์๊ฐ๋ง๋ค db์์ ์ค์ผ์ค๋ง์ ํตํด ํ์ , ์ถ์ฒ ์, ์ ์ ์ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ๋ณ๋ก 5๊ฐ์ ๊ฒ์์ด ์ ๊ณต๋ฉ๋๋ค.
โ ๊ฒ์๋ณ ์์ธ ํ์ด์ง์์ ๊ฐ ๊ฒ์์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค
- ์ ๊ณต ์ ๋ณด: ์ ๋ชฉ, ์ค๋ช , ๊ฐ๊ฒฉ, ์ฅ๋ฅด, ์ ํธ๋, ์ด์์ฒด์ , ์คํฌ๋ฆฐ์ท, ๊ณต๋ต ์์ ๋ฑ
โ ๊ฐ ๊ฒ์๋ณ๋ก 3๊ฐ์ ์ฑํ ๋ฐฉ(์ผ๋ฐ / ์ ๋ณด๊ณต์ / ์น๊ตฌ ์ฐพ๊ธฐ)์ด ์กด์ฌํ๋ฉฐ ์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
โ ํด๋น ๊ฒ์์ ๋ํ ์คํฌ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
โ ์๊ธฐ๊ฐ ๋ณด์ ํ๊ณ ์๋ ๊ฒ์์ ๋ํด ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
โ ํด๋น ๊ฒ์์ ํ๋ ์ดํ ์ ์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
โ ํค์๋ ๋ฐ ์กฐ๊ฑด์ ํตํ ๊ฒ์ / ์ ์ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๊ฐ๊ฒฉ, ์ฅ๋ฅด, ํ๊ตญ์ด ์ง์ ์ฌ๋ถ ๋ฑ์ผ๋ก ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋ง ํ ์ ์์ต๋๋ค.
โ ์ฌ์ฉ์์ ์ค์ ์คํ ๊ณ์ ๊ณผ ์ฐ๋ํด ํ๋กํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ์์ ํ๋ ์ด ๊ธฐ๋ก์ ๋ํ ๋ถ์๊ณผ ์๊ฐํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
โ ์ฌ์ฉ์๊ฐ '๊ฒ๋ง์นด์ธ' ์๋น์ค ๋ด์์ ์์ฑํ ๋ฆฌ๋ทฐ์ ์คํฌ๋ฉ ๋ด์ญ์ ํ์ธํ ์ ์์ต๋๋ค.
โ ๋น๋ก๊ทธ์ธ์ ํฌํจํ ์ ์ฒด ์ฌ์ฉ์์๊ฒ ๊ฒ์ ์ฑํฅ ํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ ์คํธ๋ฅผ ํตํด ๋์๊ฒ ๋ง๋ ์ฅ๋ฅด์ ํด๋น ์ฅ๋ฅด์ ์ถ์ฒ ๊ฒ์์ ์ ๊ณตํฉ๋๋ค.
- ๊ณต์ ํ๊ธฐ ๊ธฐ๋ฅ์ ํตํด ๋ค๋ฅธ ์ฌ๋์๊ฒ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
*ํด๋ฆญํด์ ํ๋
*ํด๋ฆญํด์ ํ๋
*ํด๋ฆญํด์ ํ๋
โ Data Size:
- ๊ฒ์: 12,000๊ฐ
- ๋ฆฌ๋ทฐ: 1,100,000๊ฐ
โ ์ ์ฉ ์๊ณ ๋ฆฌ์ฆ
- ์ฝ์ฌ์ธ ์ ์ฌ๋(Cosine-Similarity)๋ฅผ ํ์ฉํ KNN ์๊ณ ๋ฆฌ์ฆ
โ ์์ธํ ์ค๋ช ๋ณด๊ธฐ(.md ํ์ผ)
- ๋ฐ์ดํฐ ์ถ์ถ ๋ฐ ์ ์ ๊ณผ์
- ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ(KNN) ์ค๋ช
- ํ๋ก์ ํธ ๋ด ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ์๋ ์๋ฆฌ
- ์ถ์ฒ ์ค์ผ์ค๋ง
-
'์ถ์ฒ'์ด๋ผ๋ ํ ๋ง์ ๊ฑธ๋ง๋ ๋ก๊ณ ๋ฐ ์ปจ์ ์ถ์ผํ๋ฉฐ ํต์ผ๊ฐ ์๋ ๋์์ธ
-
UX๋ฅผ ๊ณ ๋ คํ ์ฌ์ฉ์ ์นํ์ ํ๋ก ํธ ํ๋ฉด ๊ตฌ์ฑ(์ ์ผ ์๋ก ๊ฐ๊ธฐ / ์๋ด ํ์ด์ง ๋ฑ)
-
๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํด PC, ๋ชจ๋ฐ์ผ, ํ๋ธ๋ฆฟ 3๊ฐ์ง ํ๊ฒฝ ๋ชจ๋์ ๋์ํ๋ ๋ฐ์ํ ์นํ์ด์ง ๊ตฌ์ฑ
-
ํ๋ถํ ๋ฐ์ดํฐ(๊ฒ์: 12,000 / ๋ฆฌ๋ทฐ: 1,100,000 ์ฌ ๊ฐ)๋ฅผ ๋ฐํ์ผ๋กํ ๊ฐ์ธ ๋ง์ถคํ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ
-
๋น๋ก๊ทธ์ธ ๋ฐ ํ๋ ์ด ๊ธฐ๋ก์ด ์๋ ์ ์ ๋ฅผ ์ํ ๋ฒ์ฉ ์ถ์ฒ ์๋น์ค ์ ๊ณต
-
Open ID๋ฅผ ํ์ฉํ ์คํ ๊ณ์ ์์ ๋ก๊ทธ์ธ ๋ฐ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฐ๋
-
๊ฒ์์ ๋ํ ์์ธ ์ ๋ณด ๋ฐ ์ธ๋ถ API(YouTube)์ ํ์ฉํ ๊ฒ์ ์ ๋ณด ์ปค๋ฎค๋ํฐ๋ก์์ ๊ธฐ๋ฅ ์ ๊ณต
-
๋ฐ์ดํฐ ๋ฐ ์๋น์ค์ ํน์ง์ ๋ฐ๋ฅธ 3๊ฐ์ง์ ๋ค๋ฅธ DB(MySQL, MongoDB, Redis) ์ฌ์ฉ
-
ํจ๊ณผ์ ์ธ ์ถ์ฒ ์๋น์ค ์ ๊ณต์ ์ํ ์๋ฒ / DB ์ค์ผ์ค๋ง ๋ฐ ์๋ํ
-
WebSocket์ ํ์ฉํ ์ค์๊ฐ ์ฑํ ๊ธฐ๋ฅ ์ ๊ณต ๋ฐ NoSql์ ํ์ฉํ ์ฑํ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ฐ์์ ์๋น์ค ์ ๊ณต
-
์์ฒด์ ์ธ ์ฑํฅ ํ ์คํธ ๋ฐ ์ธ๋ถAPI(KaKao)๋ฅผ ํ์ฉํ ๊ณต์ ์๋น์ค ์ ๊ณต
์ ์ ์ค |
๊ณฝ๋ฏผ์ฃผ |
๊น๋์ค |
์ฑ์๋น |
์ ์ง์ |
โ ์ ์ ์ค
- Java ๋ฐ Springboot๋ฅผ ํ์ฉํ Backend REST API ์๋ฒ ๊ตฌํ
- Docker ๋ฐ Docker-compose๋ฅผ ํตํ ํ๋ก์ ํธ ๋น๋ ๋ฐ ๋ฐฐํฌ
- Jenkins๋ฅผ ํ์ฉํ CI/CD ๊ตฌ์ถ
- AWS EC2 ๋ฐ Nginx ์๋ฒ ๊ด๋ฆฌ
- MySQL DB ๊ด๋ฆฌ ๋ฐ ์ค์ผ์ค๋ง
- Python์ ํ์ฉํ ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฒ๋ฆฌ
- Python ๋ฐ Django๋ฅผ ํ์ฉํ ์ฝ์ฌ์ธ ์ ์ฌ๋ ๊ธฐ๋ฐ KNN ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
- ํ๋ก์ ํธ ๋ฐํ ๋ฐ ๋ฌธ์ํ
โ ๊ณฝ๋ฏผ์ฃผ
- Java ๋ฐ SpingBoot๋ฅผ ํ์ฉํ Backend REST API ์๋ฒ ๊ตฌํ
- ๊ฒ์ ๊ธฐ๋ก ์ ์ฅ์ ์ํ Redis ๊ตฌ์ฑ ๋ฐ ์ ์ฉ
- Figma๋ฅผ ํ์ฉํ ์์ด์ดํ๋ ์ ๋ฐ ๋์์ธ ๊ตฌ์ฑ
- React๋ฅผ ํ์ฉํ Frontํ์ด์ง ๊ตฌํ (ํ๋กํ ํ์ด์ง, ๊ฒ์ ํ์ด์ง ๊ตฌ์ฑ ๋ด๋น)
- ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ ์ฉํ CSS ๊ตฌํ
- Framer motion์ ํ์ฉํ ์ ๋๋ฉ์ด์ ์ ์ฉ
- ์นด์นด์คํก ๊ณต์ ํ๊ธฐ ๊ธฐ๋ฅ ์ ์ฉ
โ ๊น๋์ค
- Java ๋ฐ Springboot๋ฅผ ํ์ฉํ Backend REST API ์๋ฒ ๊ตฌํ
- Docker ๋ฐ docker-compose๋ฅผ ํตํ ํ๋ก์ ํธ ๋น๋ ๋ฐ ๋ฐฐํฌ
- Jenkins๋ฅผ ํ์ฉํ CI/CD ๊ตฌ์ถ
- AWS EC2 ๋ฐ Nginx ์๋ฒ ๊ด๋ฆฌ
- python ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฒ๋ฆฌ
- MySQL DB ๊ด๋ฆฌ
- ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ Django ํ๋ก์ ํธ์ ์ ์ฉ
- Django ์ถ์ฒ ์์คํ ์ค์ผ์ค๋ง ์ ์ฉ
- ํฌํ ๋ฉ๋ด์ผ ๋ฌธ์ํ
โ ์ฑ์๋น
- Figma๋ฅผ ํ์ฉํ ์์ด์ดํ๋ ์ ๋์์ธ ๋ฐ ํ๋กํ ํ์ดํ
- React, Framer-motion์ ์ฌ์ฉํ Frontend ํ์ด์ง ๊ตฌํ
- Recoil, Cookie๋ฅผ ํตํ ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ๋ฐ ์ ์ ์ํ ๊ด๋ฆฌ
- emotion/styled ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก CSS-in-JS ํ์ฉ
- ๋ฏธ๋์ด์ฟผ๋ฆฌ๋ฅผ ์ ์ฉํ์ฌ ๋ฐ์ํ ์น์ฌ์ดํธ ๊ตฌํ
- WebSocket ํ์ฉ ๊ฒ์ ๋ณ, ์ฑ๋ ๋ณ ์ฑํ Frontend ๊ตฌํ
โ ์ ์ง์
- SpringBoot๋ฅผ ํ์ฉํ REST API ๊ตฌํ
- MySQL DB ์ค๊ณ
- MongoDB ์ค๊ณ ๋ฐ ๊ด๋ฆฌํ์ฌ ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ
- Steam API ํ์ฉํ์ฌ ์ถ์ฒ์ ํ์ํ ํ์ ์ ๋ณด ๋ฐ์ดํฐ ์ถ์ถ
- Steam OpenID ํ์ฉํ์ฌ Steam ๊ณ์ ์ฐ๋ ๊ตฌํ
- Backend Spring Security ์ ์ฉ
- AWS S3 ํ๊ฒฝ ๊ตฌ์ฑ
โ ์ฅ์ ๋ฏผ
- Backend JWT ๋ฐ๊ธ ๋ฐ ๊ด๋ฆฌ ๋ก์ง ๊ตฌ์ฑ




















