๐ฑ ๊ฐ์
- ์๋ฌผ ํค์ฐ๊ธฐ ๊ฐ์ด๋ ๋ฐ ์ ๋ณด๊ณต์ ์๋น์ค
- ์ด๋ณด์๋ถํฐ ์๋ จ์๊น์ง ๋๊ตฌ๋ ์ฝ๊ฒ ๋ฐ๋ ค์๋ฌผ์ ํค์ฐ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ๋๋ ์ ๋ณด ์ ๊ณต ๋ฐ ์ปค๋ฎค๋ํฐ ํ๋ซํผ.
๐ ๋ฐฐ๊ฒฝ
- ์ฝ๋ก๋ ์ดํ ์ฆ๊ฐํ๋ ํ๊ฐ๋๋
- ์ฝ๋ก๋19 ํฌ๋ฐ๋ฏน์ ๋ง์ ์ฌ๋๋ค์ด ์ง์์ ๋ณด๋ด๋ ์๊ฐ์ ๋๋ฆฌ๋ฉด์ ํ ๊ฐ๋๋์ ์ธ๊ธฐ๋ฅผ ๋์์ต๋๋ค. ์๋ฌผ์ ์ฌ๋ฆฌ์ ์์ ๊ณผ ์น์ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๋ฉฐ, ํ๋ธ์ ๋ค์ก์๋ฌผ ๋ฑ์ ์์๊ฐ ๊ธ์ฆํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ ์ปค๋ฎค๋ํฐ๋ ์๋ก์ ๊ฒฝํ๊ณผ ์ ๋ณด๋ฅผ ๋๋๋ฉฐ, ํ ๊ฐ๋๋์ ์ฆ๊ธฐ๋ ๊ณต๊ฐ์ ๋ง๋ค์ด ๋๊ฐ๊ณ ์ ํฉ๋๋ค.
- ์๋ฌผํค์ฐ๊ธฐ ์
๋ฌธ์ ์ง์
- ์๋ฌผ์ ๋ํ ์ง์์ด ๋ถ์กฑํ ์ด๋ณด์๋ค์ด ๋ณด๋ค ์ฝ๊ฒ ๋ฐ๋ ค์๋ฌผ์ ๊ด๋ฆฌํ ์ ์๋๋ก ๋ค์ํ ์ ๋ณด์ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค.
- ์๋ฌผ ์ ๋ณด ๊ณต์
- ์ด๋ฏธ ์๋ฌผ์ ํค์ฐ๊ณ ์๋ ์ฌ์ฉ์๋ค๋ผ๋ฆฌ ์ปค๋ฎค๋์ผ์ด์ ํ ์ ์๋ ์ฅ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ์๋ก์ ๊ฒฝํ์ ๊ณต์ ํ๊ณ ๋ ๋์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ ผ์ํ ์ ์๋๋ก ํฉ๋๋ค.
๐ฏ ์ฃผ์
- ์ค๋งํธ ์๋ฌผ ๊ฐ์ด๋ ํ๋ก๊ทธ๋จ
- ๋ฐ๋ ค์๋ฌผ ๊ด๋ฆฌ์ ํธ๋ฆฌํจ์ ๋์ด๊ธฐ ์ํ ์ค๋งํธํ ์๋น์ค๋ก, ๋ง์ถคํ ๊ด๋ฆฌ๋ฒ, ๋ฌผ์ฃผ๊ธฐ ์๋ฆผ, ํ๊ฒฝ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๊ด๋ฆฌ ์ถ์ฒ ๋ฑ์ ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์๋ค์ด ์๋ฌผ์ ๊ฑด๊ฐํ๊ฒ ํค์ธ ์ ์๋๋ก ๋๋ ํ๋ก๊ทธ๋จ.
์์ด์ดํ๋ ์
ERD
GitHub SSak Tium ์กฐ์ง ์์ฑ ๋ฐ ๋ ํฌ์งํ ๋ฆฌ ์์ฑ https://github.com/SSak-Tium
( Fork by User setting Repository https://github.com/DaegyuHan/spring-user-setting )
๐ฑ ์ค์ ํ์ ๋ฐ ํผ๋๋ฐฑ
- CRUD ํ๋์ฉ(entity) ๋งก์์ ํ๊ณ ๊ทธ ์ดํ ๋ฅํ๊ฒ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฑด์ง (๊ฒฐ๋ก ์ ์๋ฒ๋ฅผ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก DB์ ์ ๊ทผํ๊ณ ์ด์ํ ์ง)
- ๋๋ฌด ์๋น์ค ๊ด์ ์ผ๋ก๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์.(ํ๋ก ํธ์๋ ๊ตฌํํ ๊ฒ ์๋๋ผ๋ฉด ์์น๊ธฐ๋ฐ ์๋น์ค ๋ฑ์ ํ์์์ ๊ฑฐ๊ฐ์)
- ๊ธฐ๋ฅ์ ์ต๋ํ ์ธ๋ถ์ ์ผ๋ก ์ชผ๊ฐค ๊ฒ.
- 1์ฃผ์ฐจ ์๋ฃ๋ ๊ธฐ๋ฅ, 2์ฃผ์ฐจ ์๋ฃ๋ ๊ธฐ๋ฅ์ ์ชผ๊ฐ์ด ๋ณผ ๊ฒ. (3์ฃผ์ฐจ, 4์ฃผ์ฐจ๋ ๋ง์ฐฌ๊ฐ์ง)
- ์ด๋ ฅ์, ํฌํธํด๋ฆฌ์ค ์ฉ์ด๊ธฐ ๋๋ฌธ์ ๋๋ฌด ์๋น์ค ์์ฃผ๋ก ์๊ฐํ์ง ๋ง ๊ฒ. (๊ฐ๋ฐ์๊ฐ ์๊นํ ๊ธฐ์ ์์ฃผ๋ก)
- ํต์ฌ๊ธฐ๋ฅ์์๋ ์ด ๊ธฐ์ ์ ์ฌ์ฉํจ์ผ๋ก์จ ํฌํด, ๋ฉด์ ์์ ์ดํ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์์ง ์๊ฐ์ ํด๋ณด๊ณ ์์ฑํ ๊ฒ.
- ์ด๋ ค์, ํจ๊ณผ ๋ฑ -> ์ดํ์ด ๋ ๋งํ ์ฌํญ์ผ๋ก ๊ณ ๋ ค.
- ๋ณธ์ธ์ ์ฝ๋์ ํ๋ฆฌํฐ๋ฅผ ์ด๋๊น์ง ์ฌ๋ฆด์ง๋ ๊ณ ๋ฏผ์ ํด์ผํจ.
- ํ์๊ธฐ๋ฅ์์ ์ดํ๋ก ํต์ฌ๊ธฐ๋ฅ์ ํ์ฅํ๋ ๋๋(์ ์์ผ ๋ฐฉ์ ๋ง๋ณด๊ธฐ) -> ์ด ๋, ๊ธฐ์กด์ ์ค๊ณ๋ฐฉ์์ ๋ณ๊ฒฝํ๊ฒ๋๋ค๋ฉด ๊ทธ ํ๋ฆ์ ์ ๊ธฐ๋กํด๋ ๊ฒ.
๊ฒ์๊ธ - ๋ด์คํผ๋ ๋์์ธ
๊ฒ์ - ๋ง์ด ๊ฒ์ํ ๊ฒ์์ด ์๋์์ฑ&์ถ์ฒ
๐ฑ ์คํ ํ์ ๋ฐ ํผ๋๋ฐฑ
๊ฐ์ ๋๋ฉ์ธ ๋ณ๋ก ๊น๋ํ๊ฒ ๋๋๋ฉด ์ข์
ํด์ํํฌ๊ฐ MySQL๋ก๋ง ๊ฐ๋จํ ํด๋ ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ ์ด๋ป๊ฒ ๊ตฌํ์ ํ ๊ฑด์ง ๊น๊ฒ ๊ณ ๋ฏผํด๋ณผ ๊ฒ.
ํต๊ณ ๊ตฌํ ์ ๋ ๋์ค๋ฅผ ์ฌ์ฉ ์ ๋ง์ ๋ฐ์ดํฐ ํ์
์ ์ฐ๋ ๊ฒ์ด ์ข์.
์์
๋ก๊ทธ์ธ(๋ค์ํ ์์
๋ก๊ทธ์ธ, ์์ด๋ํตํฉ)
JWT ํ ๋๋ ์ก์ธ์คํ ํฐ๊ณผ ๋ฆฌํ๋ ์ฌํ ํฐ์ ๊ฐ์ด ์ฌ์ฉํ๋๊ฒ ์๋ฏธ์๋ค๊ณ ์๊ฐํจ
์๋ฆผ๊ธฐ๋ฅ๋ ๋๋ฌด ๊ฐ๋จํ๊ธฐ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๋ํด์ ์ข ๋ ๊น๊ฒ ๊ณ ๋ฏผํด๋ณผ ํ์๊ฐ ์์.
๋ฉํฐํฉํฐ ๋ก๊ทธ์ธ(OTP๋ฑ์ 2์ฐจ์ธ์ฆ)
๐ฑ ์๋น์ค ๊ธฐ๋ฅ ์์ด๋์ด ํ์ ๋ฐ ์ฐ์ ๋ ์ ์ ( 1์ฐจ ํ์ )
์ต์ข ํ๋ก์ ํธ ๊ธฐ๋ฅList - Google Sheets
๐ฑ ์ค์ ํผ๋๋ฐฑ ์์ฉ ํ ํ์๊ธฐ๋ฅ ๋ฐ ํต์ฌ๊ธฐ๋ฅ ๊ฐ์ํ ์์ . ( ์ถํ ์์ )
- ํ์ ๊ธฐ๋ฅ
- ์ฌ์ฉ์
- ํ์๊ฐ์
- ๋ก๊ทธ์ธ
- ํ์ํํด
- ๋ง์ด ํ์ด์ง
- ํ๋กํ ์ฌ์ง ๋ฑ๋ก ๋ฐ ์์
- ์น๊ตฌ ๋ฆฌ์คํธ ๊ด๋ฆฌ (์น๊ตฌ ์์ฒญ, ์๋ฝ, ์ญ์ )
- ๋ด๊ฐ ์์ฑํ ๊ฒ์๊ธ ์กฐํ
- ์ ์ ์ ๋ณด ์์ (๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ ๋ฑ)
- SNS ๊ธฐ๋ฅ : ๋ด๊ฐ ํค์ฐ๋ ์๋ฌผ ์๋ํ๊ณ ์ง๋ฌธํ๊ธฐ
- ์๋ฌผ์ฌ์ง๋ฑ๋ก
- ๊ฒ์๊ธ ๋ฑ๋ก, ์์ , ์ญ์
- ๋๊ธ ์์ฑ, ์ญ์
- ์ข์์
- ์๋ฌผ ์ ๋ณด ์ ๊ณต ๊ฒ์ํ (์ด์์ ์ ์ฉ)
- ์๋ฌผ ์ฌ์ง ๋ฑ๋ก
- ๊ฒ์๊ธ ์์ ๋ฐ ์ญ์
- ์๋ฌผ ์ ๋ณด ๊ฒ์
- ์ฌ์ฉ์
- ํต์ฌ ๊ธฐ๋ฅ
- ๊ฒ์๊ธฐ๋ฅ
- ๊ฒ์๊ธ ๋ฐ ์ ๋ณด๊ธ ๊ธฐ๋ณธ ๊ฒ์
- ํด์ํ๊ทธ ๋ถ์ฌ ๋ฐ ๋ค์ํ ๊ฒ์ํ๊ฒฝ ์ ๊ณต
- ๊ฒ์์ฑ๋ฅ ์ต์ ํ
- ํต๊ณ๊ธฐ๋ฅ
- ์กฐํ ์ ๋ฐ ๋๊ธ ์ ๊ธฐ๋ฐ ์ธ๊ธฐ ๊ฒ์๊ธ ์์
- ์ธ๊ธฐ ์๋ฌผ ๋ฐ ๊ฒ์์ด ๋ฐ์ดํฐ ๋ถ์
- ์ฌ์ฉ์ ๋ง์ถคํ ์ถ์ฒ
- ์์
๋ก๊ทธ์ธ (์นด์นด์ค ๋ก๊ทธ์ธ)
- OAuth 2.0์ ์ด์ฉํ ์์ ํ ์์ ๋ก๊ทธ์ธ
- ์์ธ ํ์ ์ ๋ณด ๊ธฐ์ ํ์ด์ง ์ ๋
- ์๋ฆผ ๊ธฐ๋ฅ
- ์น๊ตฌ ์์ฒญ ๋ฐ ํ๋ ์๋ฆผ
- ์๋ฆผ ์ค์ ๊ธฐ๋ฅ
- ์ฃผ์ ์ด๋ฒคํธ ์๋ฆผ
- ๊ฒ์๊ธฐ๋ฅ