ํ ์ง์ญ์ ์ง์ ๊ตฌํด์ผ ํ๊ฑฐ๋ ๋น ๋ฅด๊ฒ ์ง์ ๊ตฌํด์ผ ํ๋ ๋น์ !
์ง์ ๋งค๋ฌผ์ ๋ณด๋ฌ๊ฐ๊ธฐ ์ด๋ ค์ ์ง์ ๊ตฌํ๋ ๊ณผ์ ์ด ํ๋ค์๋์?
์จ๋ฐฉ ์ด ์ ๊ณตํ๋ ํ์ํตํ๋ฅผ ์ด์ฉํ์ฌ ๊ฐํธํ๊ฒ ๋งค๋ฌผ์ ํ์ธํด๋ณด์ธ์!
๐ป BackEnd
๐ป FrontEnd
๐ป Web RTC
๐ป CI/CD
Openvidu๋ก๋ง ํ ์ ์๋ ๊ธฐ๋ฅ ๋ฟ๋ง์ด ์๋๋ผ ๋ฐฑ์๋๋ฅผ ํจ๊ป ์ด์ฉํ ๊ฐ๋ฐ๋ก ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค. ๊ฐ ๋ฐฉ๋ง๋ค ์ธ์์๊ฐ 6๋ช ๊น์ง๋ง ๋ค์ด๊ฐ ์ ์๊ฒ ๊ตฌํํ์๊ณ , ๋ฐฉ์ฅ๋ง ๊ฒ์์ ์์ํ ์ ์๊ธฐ์ ๋ฐฉ์ ๋ง๋ค๊ฑฐ๋ ๋ฐฉ์์ ์ธ์์ด ๋๊ฐ๋ฉด ์๋์ผ๋ก ๋ค๋ฅธ ์ฌ๋์๊ฒ ๋ฐฉ์ฅ ๊ถํ์ด ๋ถ์ฌ๋๊ฒ ํ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ private ๋ฐฉ์ ๋ง๋ค ์ ์๊ฒ ํ์ฌ ๋ฐฉ ๋ฒํธ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ ์ฌ์ฉ์ ์ธ์๋ ๋ค์ด์ค์ง ๋ชปํ๊ฒ ๊ตฌํํ์๊ณ , ๋น ๋ฅธ ์์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ํ์ฌ ์กด์ฌํ๋ ๋ฐฉ์ ๋น ๋ฅด๊ฒ ์ ์ฅํ ์ ์๊ฒ ํ์๊ณ , ๋ฐฉ์ด ์์ผ๋ฉด ์๋์ผ๋ก ๋ฐฉ ์์ฑ๊น์ง ํ ์ ์๋๋ก ๊ตฌํํ์์ต๋๋ค.
๋ญํน ๊ธฐ๋ฅ์ ๋ค์ด๊ฐ๋ ๋ญํน ์ ๋ณด๋ ์์ ๋ง๋ค ์ ๋ฐ์ดํธ ๋๋ ์ ๋ณด์ฌ์ ๋จ์ํ ๊ตฌ์กฐ์ ์ ๋ณด์ด๊ณ , ๋ฐ๋ณต์ ์ผ๋ก ๋์ผํ๊ฒ ์ ๊ณต๋๊ณ , ์ต์ ํ๊ฐ ์ค์๊ฐ์ผ๋ก ํ์ํ์ง ์์ ์ ๋ณด์์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ์ ํน์ฑ์ผ๋ก ์บ์ฑ์ ์ ์ฉํ๊ธฐ์ ์ ์ ํ๋ค๊ณ ์๊ฐ์ ํ๊ณ , Redis์ ๋ญํน ์ ๋ณด๋ฅผ ์ ์ฅํ์ฌ DB๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ ํธ๋ํฝ์ด ๋ง์์ง ๋ ๋ฐฑ์๋ ๋ถํ๋ฅผ ์ค์ด๊ณ , ์ ๋ณด ์กฐํ ์๋๋ฅผ ๋์์ต๋๋ค. ๋ํ ์ ํฌ๋ Spring Scurity์ JWT๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆ์ ๊ตฌํํ์๋๋ฐ, Redis๋ฅผ ์ด์ฉํด ๋ก๊ทธ์์์ํจ ํ ํฐ๋ค์ ๋ง๋ฃ์ฒ๋ฆฌํ์ฌ ํด๋น ํ ํฐ์ผ๋ก๋ ๋ค์ ์ธ์ฆํ ์ ์๋๋ก ๊ตฌํํ์์ต๋๋ค.
ํ๋ก ํธ์๋ ๊ตฌํ์์๋ React์ redux-toolkit์ ์ด์ฉํ์ฌ Ducks Pattern ๊ธฐ๋ฐ ์ํ ๊ด๋ฆฌ๋ฅผ ํ์์ต๋๋ค.
๋์ปค, Nginx, Jenkins๋ฅผ ์ด์ฉํ ์๋ ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ๊ตฌํํ์์ต๋๋ค. ๋ฐฑ์๋๋ฅผ ๋์ปค ์ปจํ ์ด๋๋ก ๋ฐฐํฌํ์๊ณ , ํ๋ก ํธ๋ก Nginx์ ํจ๊ป ๋์ปค ์ปจํ ์ด๋๋ก ๋ฐฐํฌํ์์ต๋๋ค.
๊น๋ชจ์ง | ์ปค๋ฐ ์ ํ | ์๋ฏธ |
---|---|---|
โจ | Feat |
์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
๐ | Fix |
๋ฒ๊ทธ ์์ |
๐ | Docs |
๋ฌธ์ ์์ |
๐ | Style |
์ฝ๋ formatting, ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ์์ฒด์ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐ |
โป๏ธ | Refractor |
์ฝ๋ ๋ฆฌํฉํ ๋ง |
โ | Test |
ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ |
๐ | Chore |
ํจํค์ง ๋งค๋์ ์์ , ๊ทธ ์ธ ๊ธฐํ ์์ ex) .gitignore |
๐ฑ | Design |
CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
๐ก | Comment |
ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ |
๐ | Rename |
์ฝ๋ ๋ฆฌํฉํ ๋ง |
๐ฅ | Remove |
ํ ์คํธ ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ |
๐๏ธ | !HOTFIX |
ํจํค์ง ๋งค๋์ ์์ , ๊ทธ ์ธ ๊ธฐํ ์์ ex) .gitignore |
๐ง | Config |
CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ |
Git Flow ์งํ ๋ฐฉ์
feature ๋ธ๋์น๊ฐ ์์ฑ๋๋ฉด (front or back)/master
๋ธ๋์น๋ก merge request๋ฅผ ํตํด mergeํ๋ค.
โ merge request๊ฐ ์์ฒญ๋๋ฉด, ๋ชจ๋ ํ์๋ค์ด ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ์ฌ ์์ ํ๊ฒ mergeํ๋ค.
๋งค ์ฃผ๋ง๋ค (front or back)/master
๋ธ๋์น๋ฅผ master ๋ธ๋์น๋ก ๋ณํฉํ์ฌ ๋ฐฐํฌ๋ฅผ ์งํํ๋ค.
feature ๋ธ๋์น ์ด๋ฆ ๋ช ๋ช ๊ท์น
ex) front/Login/S11P12A702-177
ex) back/webRTC/S11P12A702-277
ํ์
๋ฐ ์
๋ฌด ๊ด๋ฆฌ, ์
๋ฌด ๊ณต์ ๋ฅผ ์ํด Jira
๋ฅผ ์ด์ฉํ์์ต๋๋ค.
๋งค์ฃผ ์์์ผ ํ ์ฃผ๋์ ์งํ๋์ด์ผ ํ ์ฃผ ๋จ์์ ๊ณํ์ ๊ตฌ์ฑํ๊ณ , ๋งค์ผ ์์นจ ๋น์ผ์ ํ ์ด์๋ค์ ์คํ๋ฆฐํธ์ ๋ฑ๋กํ์์ต๋๋ค.
์คํ๋ฆฐํธ๋ ์ผ์ฃผ์ผ ๋จ์๋ก ๋๋์ด ์งํํ์์ต๋๋ค.
๋ฆฌํ๋ ์ ํ ํฐ ์ฌ๋ฐ๊ธ ์์ฒญ
๊ณผ ๊ฐ์ด ์์ธํ๊ฒ ์์ฑํ์์ต๋๋ค.ํ ์ ์ฒด์์ ๊ณต์ ๋์ด์ผ ํ ๋ด์ฉ๊ณผ, ๊ณต์ง๋์ด์ผ ํ๋ ๊ฒ์ ๋ชจ์ ๊ด๋ฆฌํ์์ต๋๋ค.
์ปจ๋ฒค์
๊ท์น, ๋ธ๋์น ์ ๋ต ๋ฑ์ ๋
ธ์
์ ๊ธฐ๋กํ์ฌ ํ์ํ ๋ ์ธ์ ๋ ํ์ธํ ์ ์๋๋ก ๊ด๋ฆฌํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํ์์ ํผ๋๋ฐฑ์ ํ์ด์ง๋ก ์์ฑํ์ฌ ๋ค์ ์ฐพ์๋ณด๊ธฐ ์ฉ์ดํ๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
๋งค์ผ ์์นจ 9์์ ์ด์ ์์ฑํ task
์ ์ค๋ ํ task
๋ฅผ ๊ฐ์ ์ ๋ฆฌํด์ 5~10๋ถ ๋์ ์๋ก ๊ณต์ ํ๋ ์๊ฐ์ ๊ฐ์ก์ต๋๋ค.
์งง์ง๋ง ๋งค์ผ ๊ณต์ ํ๋ ์๊ฐ์ ๊ฐ์ง์ผ๋ก์จ ํ์๋ค์ ํ์ฌ ์งํ ์ํฉ์ ์์ธํ ์ ์ ์์๊ณ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋ง ํ์ฌ ์ด๋ ค์ ๋ ๋ถ๋ถ์ ์๋ก ๋์๊ฐ๋ฉฐ ํด๊ฒฐํ์์ต๋๋ค.
PORT | ์ด๋ฆ |
---|---|
443 | HTTPS |
80 | HTTP - HTTPS๋ก ๋ฆฌ๋ค์ด๋ ํธ(ํ๋ก ํธ ํ์ด์ง์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ) |
8443 | Openvidu |
8379 | Redis |
3306 | MySQL |
8081 | Jenkins |
8080 | Spring boot Docker Container |
3000 | React, NginX Docker Container |
๊น์ค์ | ๊น์์ | ๊น์ผํ | ์์ ํฌ | ์ค์ ์ง | ์ด์ํฌ |
ํ์ฅ / BE | BE | FE | BE | BE | FE |