๐ด ๋ฐ๋ชจ_2์ฃผ์ฐจ - boostcampwm-2022/web33-Mildo GitHub Wiki
1. ํ๋ก์ ํธ ๋ช : Mildo(๋ฐ๋)
- ๋ชจ๋ฐ์ผ ์น ํ๊ฒฝ์์ ์์ธ์ ์ค์๊ฐ ์ธ๊ตฌ ๋ฐ๋ ์ ๋ณด๋ฅผ ์ ๊ณต
2. ์ง๋ ์ฃผ ์งํ ๋ด์ฉ
- ์์ด๋์ด ์ ์ ๋ฐ ๊ตฌ์ฒดํ
- ํ์ ๋ชจ๋๊ฐ ์ ์ ์ ๊ฐ์ง๊ณ ์ง์์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ ์ถ์ ์์ด๋์ด๋?
- ๋ถ์คํธ์บ ํ์์ ๋ฐฐ์ด ๊ธฐ์ ์ ๋ณต์ตํ๊ณ ๋ฐ์ ์ํฌ ์ ์๋ ์์ด๋์ด๋?
- ์ฌ๋ฌ ํ๋ณด ์ค ์ด๋ค ๊ฒ์ด ์ฐ๋ฆฌ ํ์๋ค์๊ฒ ๋์์ด ๋ ์ง ์๋ ผํ๊ธฐ ์ํด ๋ง์ ์๊ฐ ํฌ์
- ํ๋ก์ ํธ UI ๊ตฌ์ฑ
- figma๋ก ํ๋ก์ ํธ UI๋ฅผ ์์ฑํ๋ฉฐ ์ค์ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ๊ตฌํํ ์ง ๊ณ ๋ฏผ
- ๊ตฌํ ๋จ๊ณ์์ ์๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด UI ์์ฑ ์ ์คํ์ผ์ ์ต๋ํ ๊ตฌ์ฒด์ ์ผ๋ก ๊ฒฐ์
- ๊ทธ๋์ ์์ฝ๊ฒ๋ ๊ธฐ์ ์คํ ๊ฒฐ์ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ฑ ๋ฑ์ 2์ฃผ์ฐจ์ ํ๊ธฐ๋ก ๊ฒฐ์ !
3. ์ด๋ฒ ์ฃผ ๋ชฉํ
- ๊ธฐ์ ์คํ ๊ฒฐ์
- ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
- ์ด์ ์์ฑ ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ ์์
- ๋ฐฐํฌ ๋ฐ CI/CD ๊ตฌํ
3. ์ด๋ฒ ์ฃผ ์งํ ๋ด์ฉ
3.1. ๊ธฐ์ ์คํ
- ๊ธฐ์ ์คํ ํ์๋ฅผ ํตํด ๊ตฌํ์ ํ์ํ ๊ธฐ์ ์ ํ
- React, jotai, styled-component, mongoDB, express ๋ฑ
- ํด๋น ๊ธฐ์ ์ โ์โ ์ฌ์ฉํ๋์ง ๋ง์ ๊ณ ๋ฏผ๊ณผ ํ ๋ก ์ ํตํด ๊ฒฐ์
- ex) koa โ express
- ์ด๊ธฐ ์นํ๋ ์์ํฌ : koa
- koa๋ฅผ ์ ํํ ์ด์
- express์ ๋น์ทํ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฌ๋์ปค๋ธ๊ฐ ๋ฎ์ ๊ฒ์ผ๋ก ์์
- express๋ณด๋ค ๊ฐ๋ฒผ์
- koa์ ์ค์ฒด
- ๊ฐ๋ณ๊ธฐ ๋๋ฌธ์ ํ์ํ ๋ชจ๋์ ๋ ๋ง์ด ์ค์นํ์ฌ ์ฌ์ฉํด์ผ ํจ โ ๋ณด์ผ๋ฌ ํ๋ ์ดํธ๋ฅผ ์ฐธ๊ณ ํด์ผ ํ์
- koa์ ๋ณด์ผ๋ฌ ํ๋ ์ดํธ๋ค์ด ์คํ๋ง ๋๋ nestjs์ ๋น์ทํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ์๊ฐ๋ณด๋ค ๋ฌ๋์ปค๋ธ๊ฐ ๋์๋ณด์์
- ์ต์ข
๊ฒฐ์ : express
- ์๋ก์ด ๋ฌธ๋ฒ์ ๋ฐฐ์ฐ๊ธฐ๋ณด๋ค๋ ๊ธฐ์กด์ ์ฌ์ฉํ๋ express๋ฅผ ๋ ๊น๊ฒ ๊ณต๋ถํ๋ ๊ฒ์ ์ ํ
- ex) koa โ express
3.2. ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ
- ํ์ ์ ์ ๊ฐ์ด ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ
- ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๊ฒฐ์
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ชจ๋) ์ค์น
- ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ๋ก yarn ์ ํ
- VS code Live Share๋ฅผ ํ์ฉํ์ฌ ํจ๊ป ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์งํ
- eslint, prettier, tsconfig ์ค์
- eslint-config-naver ์ฌ์ฉ
3.3. ํ์ด ๊ฒฐ์ & ๊ธฐ๋ฅ ๊ตฌํ
- ์กฐ๋ฅผ 2๊ฐ๋ก ๋๋์ด ํ์ดํ๋ก๊ทธ๋๋ฐ ์งํ
- ๊ฐ ํ์ด๋ง๋ค ๊ธฐ๋ฅ์ ๋ถ๋ฅํ๊ณ , ํด๋นํ๋ ์ด์๋ฅผ ์์ฑํ์ฌ ๊ฐ๋ฐ ์์
- ํ๋น/์์ค โ ๋ค์ด๋ฒ ์ง๋ API๋ฅผ ํ์ฉํ ์ง๋ ์ปดํฌ๋ํธ ์์ฑ
- ํ์ /์ค์ฐ โ ์์ธ์ ์ค์๊ฐ ๋์ ๋ฐ์ดํฐ API ํ์ฉ์ ์ํ ๋ฐฑ์๋ ์์
- ์ด๋ฒ ์ฃผ์๋ ์๊ฐ ๋ฌธ์ ๋ก ๊ธฐ๋ฅ ๊ตฌํ์ Day8 ์คํ์๋ง ์งํ
3.4. ๋ฐฐํฌ
- ๋ฐฐํฌ ๋ชฉํ
- ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด 6์ฃผ๋ก ์งง์ ๊ณํํ ๊ธฐ๋ฅ์ ๋ชจ๋ ์์ฑํ์ง ๋ชปํ ์ ์์
- ์์ฑ๋ ์๋ ์๋น์ค ๊ฐ๋ฐ์ ์ํด ํ์์ ์ธ ๊ธฐ๋ฅ์ ์ฐ์ ๊ตฌํํ๊ณ ๋งค์ฃผ ๋ฐฐํฌ
- ๊ธฐ๋ฅ ๊ตฌํ ์ค์ด๋๋ผ๋ ์ค๋จํ๊ณ ๋ฐฐํฌ๋ฅผ ์ฐ์ ์ผ๋ก ์ํ
- ์ด๋ฒ ์ฃผ ๋ฐฐํฌ ๋ด์ฉ
- nCloud ์ธ์คํด์ค ์๋ฒ๋ฅผ ์์ฑํ๊ณ client์ server ๋ฐฐํฌ
- client๋ nginx๋ก ๋ฐฐํฌ, server๋ pm2๋ก ๋ฐฐํฌ
- CD/CD ๊ตฌํ
- ํ์ ๋ชจ๋ CD/CD์ ๋ฐฐํฌ์ ์ต์ํ์ง ์์ github action, nginx ๋ฑ ํ์ต
- ์ด๋ฒ ์ฃผ CD/CD๋ฅผ ์ํ ํ์ต๊ณผ ํ ์ก๊ธฐ๋ฅผ ์๋ฃํ๊ณ , ๋ค์ ์ฃผ ์์ฑ ์์
- ๊ตฌํ ๊ฒฐ๊ณผ๋ฌผ ์ฌ์ง
-
build๋ client ํ์ผ์ 80๋ฒ ํฌํธ์์ ๊ตฌ๋ ์ค์ธ ๋ชจ์ต
-
์์ธ์ ์ค์๊ฐ ๋์ ๋ฐ์ดํฐ api๋ฅผ ๊ฐ์ ธ์จ ๋ชจ์ต
-
4. ์์ผ๋ก ํ ์ผ
4.1. ๊ฐ๋ฐ ์ผ์ (์~์)
- ์ง๋ API ๋ ธ์ถ
- ์์ธ ์ค์๊ฐ ๋์ ๋ฐ์ดํฐ API์์ ๊ฐ์ ธ์จ ์ธ๊ตฌ ๋ฐ๋ ์ ๋ณด๋ฅผ ์ง๋์ ํ์ผ๋ก ํ์
- ํ์ ํด๋ฆญํ๋ฉด ์์ธ ๋ชจ๋ฌ์ฐฝ ๋ ธ์ถ
- ๊ฒ์, ๋ก๊ทธ์ธ ๋ฒํผ, ํํฐ๋ง UI ์ถ๋ ฅ ํ ๊ธฐ๋ฅ ๊ตฌํ ์์
4.2. ๊ฐ๋ฐ ์ผ์ (๋ชฉ)
- CI/CD ํ์ต ๋ฐ ๊ตฌํ
- Docker ํ์ต ๋ฐ ๊ตฌํ