์ฃ์์ ๋๋ ๋ง ๊ฐ๋ ์ ํ์ฉํ XY ๊ฒ์์ ์น ์ฝํ ์ธ ๋ก ๊ฐ๋ฐ
4ํ์ด 10๋ผ์ด๋๋ฅผ ๊ฑฐ์ณ ์ต๋ ์ด์ต์ ๋ฌ์ฑํ๋ ๋ฉํฐ ํ๋ ์ด์ด ๊ฒ์
์๋ํ๋ฌ์ค์์ ๊ธฐ์ ๊ต์ก์์ ๋ฐ์นญ ์์
- ๊ต์ก์ฉ ์คํ๋ผ์ธ ๊ฒ์์ ์น ์ฑ์ ์๋น์คํจ์ผ๋ก์จ ๊ฒ์์ ํตํ ๊ต์ก์ ํจ์จ์ฑ์ ์ ๊ณตํ๊ณ ์ถ์์ต๋๋ค.
- ๋ค์ํ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ๊ทธ์ ๋ฐ๋ฅธ ํผ๋๋ฐฑ์ ์ค์ง์ ์ผ๋ก ๋ฐ์ํ๋ ๊ณผ์ ์ ๊ฒช๊ณ ์ ๊ธฐ์ ๊ต์ก์ ์ฌ์ฉ๋๋ ์น ์ฑ์ ๊ฐ๋ฐํ์ฌ ๋ฐ์นญํ์์ต๋๋ค.
- Client: https://github.com/X-y-game/x-y-game
- Server: https://github.com/X-y-game/X-y-game-server
- ํด๋น ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
- X-y-game-server์์ .env ํ์ผ์ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
git clone https://github.com/X-y-game/x-y-game.git cd X-y-game npm install (or yarn) npm start (or yarn)
- MongoDB ๊ณ์ ์ด ํ์ํ๋ฉฐ Root ๋๋ ํ ๋ฆฌ์ .env ํ์ผ์ ๋ง๋ค๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํฉ๋๋ค.
git clone https://github.com/X-y-game/x-y-game-server.git cd X-y-game npm install (or yarn) npm run dev
DB_URL = <YOUR_MONGODB_ATLAS_URL> PORT = <default Port 8080 or SET_YOUR_PORT>
COOKIE_SCRET = <SET_YOUR_COOKIET_SECRET>
git clone https://github.com/X-y-game/X-y-game-server.git
cd X-y-game-server
npm install (or yarn)
npm start (or yarn)
V1.0.0 First Release
- ๊ด๋ฆฌ์ ํ์ด์ง์์ ์ฑ๋ , ๋ฃธ ๋ฐ ํ์ ์์ฑํฉ๋๋ค.
- ๊ต์ก์(์ ์ )์ ๊ด๋ฆฌ์๊ฐ ์๋ ค์ค ๋น๋ฐ๋ฒํธ์ ํจ๊ป ์ฑ๋, ๋ฃธ, ํ์ผ๋ก ์ด๋ํฉ๋๋ค.
- ๊ฒ์์ ๊ท์น์ ์๋์ ๊ฐ์ต๋๋ค.
- ๋ชจ๋๊ฐ X๋ฅผ ์ ํ : ๊ฐ -100 ์์ค
- ๋ชจ๋๊ฐ Y๋ฅผ ์ ํ : ๊ฐ 100 ์ด์ต
- X๊ฐ ๋ ํ, Y๊ฐ ๋ ํ : X 200 ์ด์ต, Y 200 ์์ค
- X๊ฐ ์ธ ํ, Y๊ฐ ํํ : X 100 ์ด์ต, Y 300 ์์ค
- X๊ฐ ํํ, Y๊ฐ ์ธํ : X 300 ์ด์ต, Y 100 ์์ค
- 5๋ผ์ด๋ ๊ฐ์ค์น 3๋ฐฐ, 8๋ผ์ด๋ ๊ฐ์ค์น 5๋ฐฐ, 10๋ผ์ด๋ ๊ฐ์ค์น 10๋ฐฐ๊ฐ ์ ์ฉ๋ฉ๋๋ค.
- 4ํ์ X, Y์ค ํ๋์ ์นด๋๋ฅผ ์ ํํ์ฌ ์ ์ถ ํฉ๋๋ค.
- 4ํ์ด ๋ชจ๋ ์นด๋๋ฅผ ์ ์ถํ๋ฉด ํด๋น ๋ผ์ด๋์ ์ ํ ๊ฒฐ๊ณผ์ ์์ต ์ ๋ณด๊ฐ ํ์๋ฉ๋๋ค.
- 10๋ผ์ด๋๊ฐ ๋๋ฉด ๊ฒ์์ด ์ข ๋ฃ๋๊ณ , ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
Frontend | Backend | etc |
---|---|---|
ES2015+ React Styled-Component react-table |
MongoDB Mongoose Express Node.js Mongo Atlas |
Jest esLint Husky Netlify |
- Admin ํ์ด์ง๋ฅผ ํตํด ๊ด๋ฆฌ์๊ฐ ์ฑ๋, ํ , ๋ฃธ ์์ฑ ๋ฐ ์ญ์
- ๋น๋ฐ๋ฒํธ๋ฅผ ํตํ ์ธ์ฆ์ผ๋ก ์ฑ๋์ ์ ์ํ ์ ์๋๋ก ํจ
- 4ํ ์ธ์ ์๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋ก๋ฉ
- X, Y์นด๋ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์ ์ถ
- 4ํ ๋ชจ๋ ์ ํ ๋๋ฉด ๋ผ์ด๋ ๊ฒฐ๊ณผ ๋ชจ๋ฌ์ด ํ์
- ์๋จ ๋ฒํผ์ ํตํด ํ์ฌ๊น์ง์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์
- ์๋จ ๋ฒํผ์ ํตํด ๊ฒ์์ ๊ท์น์ ํ์ธํ ์ ์์
- 10๋ผ์ด๋ ์ข
๋ฃ ํ ์ต์ข
๊ฒฐ๊ณผ ๋ชจ๋ ํ์
- ์ต์ข
๊ฒฐ๊ณผ ๋ชจ๋์์ ํํฐ๋ฅผ ํตํด ์ ๋ณด ํ์ธ ๊ฐ๋ฅ
- ๋ฐ์ํ ์ฒ๋ฆฌ
- ํ ๊ฒ์๋ฃธ๋น 4ํ์ด ๋ค์ด์์ผ ํ๋ฉฐ, 4ํ์ด ์ ๋ถ ์ค๋น์ํ๊ฐ ๋๋ฉด ๊ฒ์ ์์ ๋ฒํผ์ ํ์ฑํ ํด์ฃผ๋ ค๊ณ ํ์ต๋๋ค. ์๋ฒ socket ์ชฝ์์ ๊ฐ ํ์ด ์ค๋น๋ฒํผ์ ๋๋ฅธ ์ง ํ์ธํ์ฌ, emit๋ฅผ ํด์ฃผ์์ง๋ง ๋ง์ง๋ง์ ์ ์ํ ๋ธ๋ผ์ฐ์ ๋ ๋ ๋๋ง์ด ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋จผ์ socket์ด ์๋ํ๋ ์๋ฆฌ์ ๋ํด ์ ๋๋ก ์ดํด๋ฅผ ํด์ผ ํ๊ณ , ๋ฌธ์๋ฅผ ๋ฐ๋ณตํด์ ์ฝ์ด์ผ ํ์ต๋๋ค. ๊ทธ ๋ฃธ ์ ์ฒด ์์ผ ๊ทธ๋ฃน์ ๋ํด ์ํฉ์ ์๋ ค์ฃผ์ด์ผ ๊ทธ ์ํ๋ฅผ ๋ฐ๊ณ ๋ ๋๋ง์ ๋๋ ๊ฒ์ ํ์ ํ์๊ณ , ๋ก์ง์ ์์ ํ์์ต๋๋ค.
- ์ด์ ๊ต์ก์ฉ ํ๋ก๊ทธ๋จ์์๋ ๋ฐ์ดํฐ ๋ณด์ ์ฒ๋ฆฌ๊ฐ ์๋์ด ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ํตํด ip ์ ๊ทผ ๋ฐ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ์ถ์์ต๋๋ค. ๋ง์ ์ ์ํด๋ณด๋, ๊ต์ก์ฉ์ผ๋ก ์ผ๋ํด๋๊ณ ์ ์ํด๋์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ๋ฐฉ๋ํ์ง ์์ผ๋ฏ๋ก , ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ jsonํ์ผ๋ก ๊ด๋ฆฌ ํ์ด๋ ๊ด์ฐฎ์์ ๊ฒ ๊ฐ์ต๋๋ค.