๋ถ๋ฅ | ๋ด์ฉ |
---|---|
์ฃผ์ | ๋ฐ๋ ค๋๋ฌผ ๊ด๋ จ |
์ธ์ | 5 |
๊ธฐ๊ฐ | 2023.08.09 ~ 2023.xx.xx |
๋ฐฐํฌ ๋งํฌ | ๐link |
๋ถ๋ฅ | ๋ด์ฉ |
---|---|
API ๋ฌธ์ ๋งํฌ | ๐link |
์๋ฒ ๋ชจ๋ํฐ๋ง | ๐ฅ๏ธlink |
ํ๋ก์ ํธ ๋ฌธ์ | ๐link |
์์ ๋์์ | ๐นlink |
๋ฐํ์๋ฃ(ppt) | ๐link |
GitHub | ๐back, ๐๏ธfront |
- ํด๊ฐ์ฒ ๋ง๋ค ๋ฒ๋ ค์ง๋ ๋ฐ๋ ค๋๋ฌผ ๐ถ
- ๋ฐ๋ ค๋๋ฌผ์ ์ผ์ดํ๊ธฐ ์ด๋ ค์ด 1์ธ ๊ฐ๊ตฌ ๋ฐ๋ ค์ธ ๐ฑ
- ๋ํ์์ 90%๊ฐ ๋ฐ๋ ค๋๋ฌผ ๊ด๋ จ ์๋ฅด๋ฐ์ดํธ๋ฅผ ์ ํธ ๐
- ๋ถ์กฑํ ์ผ์๋ฆฌ ๋ฌธ์ ํด๊ฒฐ ๐ฅ
- ๋ฐ์ ํ๋์ธ์ ์ํ ์ผ์ด๋ง ์ ๋ฌธ๊ฐ ๋งค์นญ ๐พ
- ์ทจ๋ฏธ์์ ์์ต๊น์ง ์ด์ด์ง๋ ํจ๊ณผ ๊ธฐ๋ ๐ธ
- ์ผ์๋ฆฌ ์ฐฝ์ถ ํจ๊ณผ ๐ก
๊ฐ๋ฐ ์ธ์ด :
๊ฐ๋ฐ ํ๋ ์ ์ํฌ:
๋ผ์ด๋ธ๋ฌ๋ฆฌ :
๋ฐ์ดํฐ๋ฒ ์ด์ค :
๋๊ตฌ :
๋ฐฐํฌ :
์ฌ์ฉ ๊ธฐ์ :
- ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๊ฐ์ธ ํ๋ฉด ์์ ๊ธฐ๋ฅ์ ์ ๊ณต
- ๋ค์ด๋ฒ,๊ตฌ๊ธ oauth2 ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ ๊ณต(์ฒ์ ํ์๊ฐ์ ์ ํ๋ ์ ์ ์๊ฒ๋ง ์ถ๊ฐ์ ์ธ ์ ๋ณด์ ๋ ฅ์ ํ ์ ์๋๋ก ํจ)
- ๋ก๊ทธ์ธ์์ ์ ์ ์บ์ฑ์ ์ ์ฅ์ ํ์ฌ ๋ฐ๋ณต๋ ์ ์ ์ ์ ๊ทผ์์ ๋ ๋์ค์์ ์ ์ ๋ฅผ ์บ์ฑํ์ฌ๊ฐ์ ธ์ฌ ์ ์๋๋ก ํจ
- ๋ก๊ทธ์ธ ์์ ์์ธ์คํ ํฐ๊ณผ ๋ ๋์ค๋ฅผ ์ด์ฉํ ๋ฆฌํ๋ ์ ํ ํฐ์ ๋ฐ๊ธํ์ฌ ๋ก๊ทธ์ธ์ ์ ์งํ ์ ์๋๋ก ํจ
- ๋ชจ๋ ์ ์ ๋ ๊ฒ์๊ธ์ ์์ฑํ ์ ์์
- ๊ฒ์๊ธ ์์ฑ์์๋ ์ฌ์ง(s3),๊ฒ์๊ธ(mysql-rds)์ ์ ์ฅ์ด ๋จ
- ๋ง์ฝ ํ๋งค์๊ฐ ์ ๊ทผํ๋ฉด ๊ฒ์๊ธ์ ์์ ๋ฐ ์ญ์ ๊ฐ ๊ฐ๋ฅํจ
- ๊ฒ์๊ธ ์์ธ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๋ฉด ๋ฆฌ๋ทฐ์ ํจ๊ป ๊ฒ์๊ธ ํ์ธ์ด ๊ฐ๋ฅํจ
- ๊ฒ์๊ธ ๋ด์์ ์ฃผ๋ฌธ, ์ฑํ , ์ ๊ณ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ผ๋ก ์ฐ๊ฒฐ์ด ๋จ
- ๊ฒฐ์ ์ดํ ์งํํ๋ ๊ณผ์ ์ผ๋ก ์ฃผ๋ฌธ ๊ณผ์ ์ ์งํ
- ๊ฒฐ์ ์๋ฃํ์ ํ๋งค์๊ฐ ๊ตฌ๋งค ํ์ ์ ํด๋ฆญํ์ฌ์ผ ์ค์ ํ๋ก์ธ์ค๊ฐ ์งํ๊ฐ๋ฅํจ(๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ์ฃผ๋ฌธ ํ์ธ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ)
- ํด๋น ํ์ธ ๊ณผ์ ์ดํ์๋ ๊ตฌ๋งค์๋ ์ทจ์๋ฅผ ํ์ง ๋ชปํ๊ณ ํ๋ก์ธ์ค๊ฐ ์งํ๋จ
- ํ๋ก์ธ์ค ์งํ์๋ฃํ ์ฃผ๋ฌธ์๋ฃ ๋ฒํผ์ ํด๋ฆญํ๋ฉฐ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์์
- WebSocket STOMP, Redis(pub/sub),Redis(data์ ์ฅ)๋ฅผ ์ด์ฉํด ๊ตฌํ
- ์ฑํ
๋ฐฉ๊ณผ ์ฑํ
์ ๊ดํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ ํ์ฉ
- ์ฑํ ๊ธฐ๋ก์ด ์๋ ์ ์ ์ ๋งค์นญ๋๋ฉด ์ ์ ์๋ ์ฑํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ด
- ์ฑํ
๋ฐฉ๊ณผ ์ฑํ
์ ๊ดํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ ํ์ฉ
- ๊ตฌ๋งค์๊ฐ ๊ฒ์๊ธ์ ํตํด ํ๋งค์์ ๋ํ ์ฑํ
๋ฐฉ ์์ฑ ๋ฐ ์ฑํ
์ ์ก
- ์ด๋ ์ฑํ ๋ฐฉ ์์ฑ์ ์ด์ ์ ๋์ผํ ์ ์ ์์ ๊ธฐ๋ก์ด ์๋ค๋ฉด ๊ฐ์ ์ฑํ ๋ฐฉ์ ๋ฐํํจ
- ์ฑํ ์ ํตํด ๊ตฌ๋งค์์ ํ๋งค์ ๊ฐ์ ์๊ฐ, ๋ ์ง ๋ฑ ์๊ฒฌ ์กฐ์จ
- ํ์ ์๋ฃ ํ ์ฃผ๋ฌธ์ ์งํํ์ฌ ๊ฒฐ์ ๋ฅผ ์งํํจ
- ๊ตฌ๋งค์๋ ํ๋งค์์ ๊ฒ์๊ธ์ ํตํด ๋ฌผ๊ฑด ํน์ ์๋น์ค ๊ตฌ๋งค ๊ฐ๋ฅ
- ๊ฒฐ์ ๋ฅผ ์ํด ํ ์ค ํ์ด๋จผ์ธ API ํ์ฉ
- ํต์ฌ์ ์ผ๋ก ์์ฒญ, ์ธ์ฆ, ์น์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์นจ
- ์์ฒญ
- ์๋ฒ๋ก๋ถํฐ ๊ตฌ๋งค์์ ์ ์ ์ ๋ณด์ ๊ตฌ๋งค๋ฅผ ํฌ๋งํ๋ ์ ํ ๋ฐ ์๋น์ค์ ์ ๋ณด๋ฅผ ๋ฐ์ ๊ฒฐ์ ์์ฒญ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๋ ๋จ๊ณ
- ๊ตฌ๋งค์๋ ์์ ฏ์ ํตํด ์นด๋์ฌ๋ฅผ ์ ํํ๊ณ ์ ์ฉ์นด๋ ์ ๋ณด๋ฅผ ์ ๋ ฅ
- ์ธ์ฆ
- ๊ตฌ๋งค์๊ฐ ์ ํํ ๊ฒฐ์ ์๋จ์ธ ์นด๋์ฌ์์ ์งํ
- ์นด๋์ฌ๊ฐ ์์ฒญ๋ฐ์ ๊ฒฐ์ ์ ๋ณด, ์ฆ ๊ณ ๊ฐ์ ์ ์ฉ์นด๋ ์ ๋ณด์ ๊ฒฐ์ ๊ธ์ก์ ํ์ธํด์, ์ด ๊ฑฐ๋๊ฐ ์ ํจํ๋ฉฐ ๊ฒฐ์ ๋ฅผ ํ์ฉํด๋ ๋๋์ง ํ์ธํ๋ ๊ณผ์
- ์น์ธ
- ์ธ์ฆ๋ ๊ฒฐ์ ๋ฅผ ์นด๋์ฌ์ ์น์ธํด๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ณผ์
- ์ธ์ฆ ๊ฒฐ๊ณผ๋ก ๋์์จ ํ๋ผ๋ฏธํฐ๋ก ์์ฒญ
- ์น์ธ์ด ์ฑ๊ณตํด์ผ ํ๋งค์๋ ๊ตฌ๋งค์์๊ฒ ์ํ์ด๋ ์๋น์ค๋ฅผ ์ ๊ณต
- ์นด๋์ฌ๋ ์ํ์ ๊ฒฐ์ ๊ธ์ก์ ๊ตฌ๋งค์์๊ฒ ์ฒญ๊ตฌํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ๊ฒฐ์ ๊ฐ ๋ง๋ฌด๋ฆฌ๋๋ ๋จ๊ณ
- ์์ฒญ
- ๊ฒ์ฆ
- ์๋ฒ์์ ์นด๋์ฌ์ ๊ฒฐ์ ์์ฒญ ๋ฐ ์ธ์ฆ ๋จ๊ณ ์ ์ ๊ฒฐ์ ํ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ฅ
- ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก, ์ค์ ๊ฑฐ๋๊ฐ ์ด๋ฃจ์ด์ง๋ ์น์ธ ๋จ๊ณ ๊ณผ์ ์ ์ ๊ฒฐ์ ์์ ๊ธ์ก๊ณผ ๋น๊ต ๊ฒ์ฌ
- ์ด๋ฅผ ํตํด ๊ฒฐ์ ๊ณผ์ ์ค์ ๋ฐ์ํ ๊ฐ๊ฒฉ ๋ณ๋ ๋ฑ์ ๋น์ ์์ ์ธ ์ ๊ทผ์ ๋ฐฉ์ง
- ๊ตฌ๋งค์๋ ํ๋งค์๊ฐ ์ฃผ๋ฌธ ์ํ๋ฅผ ์ฃผ๋ฌธ ์๋ฃ(END) ์ํ๋ก ์ ๋ฐ์ดํธ ํ ํ๊ธฐ ์์ฑ ๊ฐ๋ฅ
- ๊ธฐ๋ฅ : ํ๊ธฐ ์์ฑ, ์์ , ์ญ์
- ํ๊ธฐ ์์ฑ : ํ๊ธฐ ๋ด์ฉ, ๋ณ์ , ์ด๋ฏธ์ง ์ฒจ๋ถ ๊ฐ๋ฅ.
์ด๋ฏธ์ง โก๏ธ S3 ์ ์ฅ
๋ด์ฉ, ๋ณ์ ๋ฐ์ดํฐ โก๏ธ MySQL ์ ์ฅ - ํ๊ธฐ ์์ : ๋ด์ฉ, ๋ณ์ , ์ด๋ฏธ์ง ์์ ๊ฐ๋ฅ.
๋ณ๊ฒฝ ์ฌํญ ์์ ์ ์๋ณธ ๋ฐ์ดํฐ ๊ทธ๋๋ก ์ฌ์์ฑ - ํ๊ธฐ ์ญ์ : Soft Delete ๊ฐ๋ ์ผ๋ก ์ญ์ ์ ๋ฐ์ดํฐ์ ์ํ๋ฅผ "DELETE"๋ก ๋ณ๊ฒฝ ํ ์กฐํ๋์ง ์๋๋ก ๊ตฌํ
- ํ๊ธฐ ์์ฑ : ํ๊ธฐ ๋ด์ฉ, ๋ณ์ , ์ด๋ฏธ์ง ์ฒจ๋ถ ๊ฐ๋ฅ.
- ์ ์ ๋ ํ ์ ์ ์ ๋ถ๊ฑด์ ํ ๊ฒ์๊ธ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ณ
- ๊ด๋ฆฌ์๋ ์ ๊ณ ์กฐํ ๋ฐ ๊ด๋ฆฌ ๊ฐ๋ฅ
- ์ํ ๊ฐ : { '๊ฒํ ์ค', 'ํด๊ฒฐ๋จ', '๊ฑฐ์ ๋จ' }
- ๊ฒ์๊ธ ๊ธฐ๋ฅ (ํ๋งค๋ง ๋ฑ๋ก ๊ฐ๋ฅ)
- ๊ฒ์๊ธ์ ํตํ ์ํ ๊ตฌ๋งค ๊ฐ๋ฅ (ํ ์ค API ์ฌ์ฉ)
- ๊ฒ์๊ธ์ ์ฌ๋ฆฐ ์ ์ ์ ์ฑํ ๊ธฐ๋ฅ (Redis Pub/Sub ์ฌ์ฉ, WebSocket ์ฌ์ฉ)
- ๊ฒ์๊ธ์ ๋ฆฌ๋ทฐ ์์ฑ ๊ธฐ๋ฅ
- ๊ฒ์๊ธ ๋ฐ ๋ฆฌ๋ทฐ ์ ๊ณ ๊ธฐ๋ฅ
- ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ (Google/Naver)
- ๊ฒ์๊ธ ๊ตฌ๋งค/ํ๋งค ํ๊ทธ ์ถ๊ฐ
- ๊ฒ์๊ธ ๊ธฐ๊ฐ ์ถ๊ฐ
- HTTPS ์ ์ฉ
- ๊ฒฐ์ ์ ์์์ฆ ์ถ๋ ฅ ๊ธฐ๋ฅ ์ถ๊ฐ
- ํ๋ถ ๋ฐ ์ทจ์ ๊ธฐ๋ฅ ์ถ๊ฐ