๐ ๋ฐ๋ชจ_3์ฃผ์ฐจ - boostcampwm-2022/web33-Mildo GitHub Wiki
1. ํ๋ก์ ํธ ๋ช : Mildo(๋ฐ๋)
- ๋ชจ๋ฐ์ผ ์น ํ๊ฒฝ์์ ์์ธ์ ์ค์๊ฐ ์ธ๊ตฌ ๋ฐ๋ ์ ๋ณด๋ฅผ ์ ๊ณต
2. ์ง๋ ์ฃผ ์งํ ๋ด์ฉ
- ๊ธฐ์ ์คํ ํ์
- ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ
- ์ค์๊ฐ ๋์ ๋ฐ์ดํฐ API ์ฐ๊ฒฐ
- ๋ค์ด๋ฒ ์ง๋ API ์ฐ๊ฒฐ
- ๋ฐฐํฌ
- CI/CD ๊ตฌํ 1์ฐจ ์๋
3. ์ด๋ฒ ์ฃผ ๋ชฉํ
- ์ฌ์ฉ์ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ง๋ UI ๋ณด์ฌ์ฃผ๊ธฐ
- ๋ชจ๋ฌ UI ๊ตฌํ
- 1๋จ๊ณ : ์์น, ๋ฐ์ง๋, ๋ถ๋งํฌ, ๋ฐ์ง์ธ๊ตฌ, ๋ด์ผ ๊ฐ๊บผ์ผ ๋ฒํผ
- 2๋จ๊ณ : ์ต๊ทผ 24์๊ฐ ์ธ๊ตฌ ๋ํฅ, ๋ด์ผ ๊ฐ๊บผ์ผ ์์
- ํ UI ๊ตฌํ
- ์ธ๊ตฌ ๋ฐ๋์ ๋ฐ๋ผ ์์ด ๋ค๋ฅธ ํ ๋ณด์ฌ์ฃผ๊ธฐ
- CI/CD ๊ตฌํ ์๋ฃ
- Docker ํ์ต
4. ์ด๋ฒ ์ฃผ ์งํ ๋ด์ฉ
4.1. ํ์ด ๊ฐ๋ฐ (์~์)
์ง๋ UI
-
๋ค์ด๋ฒ ์ง๋ API๋ฅผ ์ด์ฉํด ๋ฉ์ธ ํ์ด์ง์ ์์ธ ์ง๋ ์ถ๋ ฅ
-
์ฌ์ฉ์์ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์์น๊ฐ ์์ธ์์ผ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์ง๋ ์ค์์ ์์น
-
์๋ฐ์คํฌ๋ฆฝํธ API์ธ Geolocation์ ์ด์ฉํ๋ ๋ฆฌ์กํธ Hooks์ธ useGeolocation๋ฅผ ํตํด ํ์ฌ ์ฌ์ฉ์์ ์๋/๊ฒฝ๋ ์ ๋ณด ๊ฐ์ ธ์ด
-
๋ค์ด๋ฒ ์ง๋ API์ธ Reverse Geocoding์ ์ด์ฉํด ์ฌ์ฉ์์ ์๋/๊ฒฝ๋๋ฅผ ํตํด ํ์ฌ ๊ฑฐ์ฃผ ์ง์ญ๋ช ์ ํ์ธํ์ฌ ์์ธ์์ธ์ง ํ์ธ
-
ํ์ฌ ์์น๊ฐ ์์ธ์๊ฐ ์๋ ๊ฒฝ์ฐ ์์ฒญ์ญ์ ์ง๋ ์ค์์ ์์น
-
-
๋ก์ปฌ์์๋ง ๊ฐ๋ฅํ๊ณ ๋ฐฐํฌ ํ๊ฒฝ์์๋ ๋ถ๊ฐ, HTTPS๋ฅผ ์ค์ ํด์ผ ํ๋ ๊ฒ์ผ๋ก ์ถ์ธก
๋ก๋ฉ ํ๋ฉด
-
์ฒ์ ์ฑ์ ์ ๊ทผํ ๊ฒฝ์ฐ ํ์ฌ ์ฌ์ฉ์์ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๊ธฐ ์์น๋ฅผ ์ง์ ํ๋ ๊ณผ์ ์ด ๋ฐ์ํ๋ค.
-
๊ฒฐ๊ณผ์ ์ผ๋ก ์๊ฐ์ด ์ข ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์(ํนํ ๋๋ฆฐ 3G์ ๊ฒฝ์ฐ์๋ ๋๋์ฑ) ๋ก๋ฉ ํ๋ฉด์ผ๋ก ๋์ฒดํ์ฌ ์ฌ์ฉ์ ํธ์์ฑ์ ๋์
์์ธ ๋ชจ๋ฌ 1๋จ๊ณ & 2๋จ๊ณ UI
์ธ๊ตฌ ๋ฐ๋์ ๋ฐ๋ฅธ ํ ๊ธฐ๋ฅ
-
์ธ๊ตฌ์ ๋ฐ์ง๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์๊น์ ํ์ ๋ณด์ฌ์ฃผ๊ธฐ
- ์ฌ์ (์ด๋ก) / ๋ณดํต(๋ ธ๋) / ๋ถ๋น(์ฃผํฉ) / ๋งค์ฐ ๋ถ๋น(๋นจ๊ฐ)
- ํ๋ผ๋ฆฌ ๋ถ์์ฐ์ค๋ฝ๊ฒ ๊ฒน์น๋ ๋ถ๋ถ์ ์ง์ญ์ ์๋์์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ์ฌ ํ๋ค์ด ์์ฐ์ค๋ฝ๊ฒ ๊ฒน์น๋๋ก ํจ
4.2. Git ์์ (๊ธฐ์ ๊ณต์ )
-
feature ๋ธ๋์น๋ผ๋ฆฌ ์๋ก ๋ณํฉํ๋ ์ค์๋ฅผ ๋ฐ์์ํด
-
Task๋ฅผ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐ๋ถํด์ ์์ ํ๋ ์ํฉ์ด์ด์ ์ถฉ๋์ด ์ ์๋ค.
-
๊ฒฐ๊ณผ : env ํ์ผ์ด github ์ ์ฅ์์ ์ฌ๋ผ๊ฐ๋ ์ฌํ๊ฐ ๋ฐ์
-
ํด๊ฒฐ : env ๋ด๋ถ์ ํ๊ฒฝ๋ณ์๋ฅผ ๋ชจ๋ ์์ , ๊ฐฑ์
-
4.3. ๋ฐฐํฌ (๋ชฉ)
CI/CD 2์ฐจ ์๋
์์ง ํด๊ฒฐํ์ง ๋ชปํ ๋ฌธ์
-
๋ฐฐํฌ ํ๊ฒฝ์์ nvm ๋ช ๋ น์ด๊ฐ ์ฌ์ฉ๋์ง ์์
- ์ค์ ํด๋ผ์ฐ๋ ์๋ฒ์ ์ ์ํ์ ๋๋
nvm
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์์์ง๋ง, github Actions๋ฅผ ์ด์ฉํ์ฌnvm
์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฉํ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ ๋ฐ์ err: bash: nvm: command not found
- ์ค์ ํด๋ผ์ฐ๋ ์๋ฒ์ ์ ์ํ์ ๋๋
-
MongoDB ํ๊ฒฝ๋ณ์ ์ ์ฉ
-
runner ํ๊ฒฝ์์๋
MONGODB_CONNECT_URI
ํ๊ฒฝ๋ณ์๊ฐ ์ ์ ์ฉ๋์์ง๋ง, ๋ฐฐํฌ ํ๊ฒฝ์MONGODB_CONNECT_URI
๋ง ๋ณต์ฌ๋์ง ์๋ ํ์ ๋ฐ์ -
connect ์ฃผ์๋ฅผ ํต์งธ๋ก ๋ณต์ฌํด์ ๋ฐ์ํ ์ค๋ฅ๋ก ์ถ์ธก
mongodb+srv://{username}:{password}@{host}/{collectionName}?retryWrites=true&w=majority
-
username, password, host, collectionName์ ๋ฐ๋ก ๋ถ๋ฆฌํ์ฌ ํ๊ฒฝ๋ณ์๋ก ์ ์ฉํด๋ณผ ์์
-
5. ์์ผ๋ก ํ ์ผ
5.1. ๊ฐ๋ฐ ์ผ์ (์~์)
- ์์ธ์ ์ธ๊ตฌ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๋ ์๋ฒ ๊ตฌ์ถ
- node-cron vs
- ์ต๊ทผ 24์๊ฐ ์ธ๊ตฌ ๋ฐ๋ ๋ฐ์ดํฐ ์บ์ฑ
- Redis
- ์ธ๊ตฌ ๋ฐ๋๋ณ ์ง๋ ํ์ ํํฐ๋งํ๋ ๊ธฐ๋ฅ
5.2. ๊ฐ๋ฐ ์ผ์ (๋ชฉ)
- https ์ ์ฉํ๊ธฐ