์ฌ์ค์ devent-frame์ ๋ค์ ์ํ.
https://github.com/Team-DeVent/devent-frame ์์ TypeScript๋ก ์ ํ ํ ํ ๊ฒ์ํ ๊ธฐ๋ฅ์ ๊ฐํํ๊ณ React๋ฅผ ์ ์ฉํ ํ๋ก์ ํธ ์ ๋๋ค. 2022๋ 1์ 16์ผ๋ถํฐ ์์ํ Frame ํ๋ก์ ํธ๋ ํ์ฌ๊น์ง ๋ค์ํ ์ฌ์ด๋ ํ๋ก์ ํธ์ ์ ์ฉ๋์ด ์์ต๋๋ค. ํ์ฌ 1๋ฒ์ ๋ฉ์ด์ ์ ๋ฐ์ดํธ๋ฅผ ํตํด ๋ฆฌํฉํ ๋ง ํด์๊ณ ์ ๋ง์ ํ๋ก์ ํธ์ ๋ณด์ผ๋ฌํ๋ก์ ํธ ์ญํ ์ ์ํํ์ต๋๋ค. ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์๊ณผ ํ๋ก์ ํธ ์์ ์ฃผ๊ธฐ ๋จ์ถ, ๊ฐ๋ฐ ์๋ ๋จ์ถ๋ฑ ์ฌ๋ฌ ๋ถ๋ฌธ์์ ์ด์ ์ ๊ฐ์ ธ๋ค ์ฃผ์์ต๋๋ค.
๋ค๋ง ํ๋ ์ ํ๋ก์ ํธ๋ ๋จ์ ๋ ์กด์ฌํ์ต๋๋ค. ๋ณด์ผ๋ฌํ๋ก์ ํธ์ ์ฝ๋๋ฅผ ์์ ํด์ผ ํ๋ค๋ฉด ๊ฐ์ ์ฝ๋๋ฅผ ์ด ๋ณด์ผ๋ฌํ๋ก์ ํธ๋ฅผ ์ด์ฉํ ๋ค๋ฅธ ํ๋ก์ ํธ์๋ ๋์ผํ๊ฒ ์ ์ฉ๋์ด์ผ ํ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์์ ์ ์ฌ๋ฌ๋ฒ ๊ฑฐ์ฒ์ผ ํ๋ฉฐ ํ๋ ์ ํ๋ก์ ํธ ์์ฒด์ ์์ ์ ํ๋ค๊ฒ ํ๋ ์์ธ์ด ๋์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ๋ณด๋์์๋ TypeScript, React, Redux, Docker, Oauth๋ฑ Frame ํ๋ก์ ํธ์์ ๋ฌธ์ ๊ฐ ๋์๋ ๊ธฐ์ ๋ถ๋ฌธ์ ๋ํญ ๊ฐ์ ํ์ต๋๋ค. ๋ฐฐํฌ๋ ๋ ์์ ๋ก์์ก๊ณ ๊ฐ๋ฐ ์๋๋ ํฅ์๋๊ณ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ก์ ํธ๋ ํ์ฌ Scrap.devent.kr๋ฑ์ด ์์ต๋๋ค.
git clone ๋ช ๋ น์ ํตํด ์คํํ ์ ์์ต๋๋ค.
git clone https://github.com/testprocess/board.git
์์กด์ฑ์ ์ค์น ํฉ๋๋ค.
npm install
์๋ ๊ฐ๋ฐ ๋ช ๋ น์ ํตํด ํ๋ก์ ํธ๋ฅผ ๊ตฌ๋ํฉ๋๋ค.
npm run start:dev
npm run bundle
npm run compile
./server/config/oauth.ts์์ Google Oauth GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET์ ์ค์ ํ์ธ์. ๊ตฌ๊ธ ๋ก๊ทธ์ธ์ ํ์ฑํํ๊ณ ์ ํ๋ค๋ฉด IS_ENABLE ์ต์ ์ true๋ก ๋ณ๊ฒฝํ์ธ์.
./server/config/server.ts์์ uri๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ๊ฐ๋ฐ ์ต์ ์ ๋ฐ๋ผ ์กฐ์ ํด์ฃผ์ธ์.
ํด๋น ํ๋ก์ ํธ๋ GoCD๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ๋ค๋ฅธ CI/CD๋ฅผ ํตํด ๋ฐฐํฌํ๋ค๋ฉด ์๋ ํ๊ฒฝ๋ณ์ ์ธํ
ํ docker compose ๋ก ๋น๋ํ์ธ์.
MYSQL_ROOT_PASSWORD=<๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฒ>
MAIN_JWT_SECRET=<JWR SECRET>
docker compose build
docker compose up