๐ ๋ชจ์์ด ๋๋๊ณ ํ๊ธฐ๋ฅผ ์ ํ ์ ์๋ ๋กค๋งํ์ดํผ ํ๋ก์ ํธ
๋ฆฌ์กํธ ์ฌํ์ฃผ์ฐจ ํ๋ก์ ํธ๋ก NEXTJS๋ฅผ ํตํด ๊ตฌํํ์ด์.
์ด๋ค ๋ชจ์์ ๋ง์น๊ณ ์๊ฐ์ ๋ฃ๊ณ ์ถ์๋ฐ, ๋ง์ ๋ถํํ๊ธฐ ์ด๋ ค์ธ ๋! "์ด๋ ์ด?"๋ฅผ ์ฌ์ฉํด๋ณด๋๊ฑด ์ด๋จ๊น์?
0. ํ์ ์๊ฐ
๋จํ์ฌ |
์ ๋ฏผ์ |
์กฐ์์ |
์ํ์ |
์์ข
ํ |
ํ์ข
์ญ |
|
|
|
|
|
|
๋ชจ์ ์ ์ฒด ๋ชฉ๋ก, ๋๋ค์ ์์ & ๋ก๊ทธ์์ ๊ธฐ๋ฅ, ํ๋ก์ ํธ ํ๊ฒฝ ์
ํ
|
๋ชจ์์์ฑ, ์ด๋ฏธ์ง drag&drop ๋ฐฉ์ ์ถ๊ฐ ๊ธฐ๋ฅ, |
ํ์๊ฐ์
& ๋ก๊ทธ์ธ ์์
๋ก๊ทธ์ธ(google, kakao) |
๋ชจ์ ๋ชฉ๋ก ํ์ด์ง ๋ฆฌ์คํธ (๊ธฐ๋ณธ์, ๋ชจ์๋ณด๊ธฐ) ๋ชจ์ ์ฌ๋ฐฐ์น ๊ธฐ๋ฅ |
๋ชจ์ ํ๊ธฐ ๊ธ์ฐ๊ธฐ ๋ฐ ํธ์ง์ง ์์ ๋ณ๊ฒฝ ๊ธฐ๋ฅ ํ๊ธฐ ์์ธํ์ด์ง |
๋ํ
์ผ ํ์ด์ง ํค๋ ์นด์นด์คํก ๊ณต์ ํ๊ธฐ |
0-1. ํ๋ก์ ํธ ์งํ ๊ธฐ๊ฐ
0-2. ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ..
- ์๋ก์ ์งํ ์ํฉ์ ๊ณต์ ํ๊ธฐ ์ํด zep๊ณผ slack์ ํตํด ์ํตํ์ด์.
- ์๋ก์ ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ๋ ๋ฌธํ๋ฅผ ์งํฅํ์ด์.
0-3. ํ๋ก์ ํธ Github ์ ๋ต
git-flow ์ ๋ต์ ๊ฐ์ํ ํ์ฌ ๋ฉ์ธ ๋ธ๋์น์ธ main, dev์ ๋ณด์กฐ ๋ธ๋์น feature ์ฌ์ฉํ์ด์.
main branch
- ์ต์ข
ํ๋ก์ ํธ ๋ฒ์ ์ ๋ฐฐํฌํ๋ ๋ธ๋์น
dev branch
- feature ๋ธ๋์น์ ๋ถ๊ธฐ๊ฐ ๋๋ ๊ณณ, ๊ฐ๋ฐ ๋ธ๋์น
feature branch
- ๊ฐ์์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น dev branch๋ก๋ถํฐ ๊ฐ์์ feature branch๋ฅผ ๋ง๋ค์ด ์์
ํ ์ดํ PR์ ํตํด ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์งํํ๊ณ merge๋ฅผ ํ์์. ๋ํ 2๋ช
์ด์ approve๊ฐ ์์ด์ผ dev์ merge ํ ์ ์๋๋ก ์กฐ๊ฑด์ ์ค์ ํ์์ด์.
1. ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
tanstack-query
์๋ฒ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ด๋ฆฌ ํ๊ธฐ ์ํด ์ฌ์ฉํ์์ผ๋ฉฐ, ๋น๋๊ธฐ ๋ก์ง์ ๊ฐํธํ๊ฒ ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉํ์ด์
supabase
Supabase๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํ์ฌ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ด์
tailwind css
์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ , ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํฌ ์ ์๊ธฐ์ ์ฌ์ฉํ์ด์
Kakao Share API
์นด์นด์ค API๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ฝํ
์ธ ๋ฅผ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋๋ก ํ์์ด์.
2. ๋ํ๊ธฐ๋ฅ
- ํ์๊ฐ์
๋ก๊ทธ์ธ์ ํตํด ์ธ์ฆ๋ ์ฌ์ฉ์๋ง ๋ชจ์์ ์์ฑํ ์ ์์ด์.
- ๋ชจ์์ ์์ฑํ๊ณ ๋ชจ์ ๊ณต์ ๊ธฐ๋ฅ์ ํตํด ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋์๊ฒ ๊ธ์ ์ธ ์ ์์ด์.
- ๋ชจ์ ์ฌ๋ฐฐ์น ๊ธฐ๋ฅ์ ํตํด ํฌ์คํธ์ ์ฒ๋ผ ๋ง์ฐ์ค๋ก ๊ธ์ ์ฎ๊ธธ ์ ์์ด์.
- ๊ธ์์ฑ ํ์ด์ง์์ ๋ฐฐ๊ฒฝ์์ ๋ฐ๊ฟ ์ ์์ด์
3. ์์ธ์ค๋ช
1. Supabase Auth๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ ํ์๊ฐ์
ํ์ด์ง๋ฅผ ๊ตฌํ
- Supabase Auth๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ ๋ฐ ํ์๊ฐ์
ํ์ด์ง๋ฅผ ๊ตฌํํ์ด์.
- ์ด๋ฉ์ผ ํ์๊ฐ์
๋ฐ ์์
๋ก๊ทธ์ธ(๊ตฌ๊ธ, ์นด์นด์ค) ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ํธ๋ฆฌํ๊ฒ ์ธ์ฆํ ์ ์์ด์
2. ๋ด๊ฐ ์์ฑํ ๋ชจ์๊ณผ ๋๋ค์ ๋ณ๊ฒฝ ๊ธฐ๋ฅ
- ๋์ ๋ชจ์์ ํตํด ๋ด๊ฐ ์์ฑํ ๋ชจ์์ ๋น ๋ฅด๊ฒ ์ฐพ์๋ณผ ์ ์์ด์.
- ๋๋ค์ ๋ณ๊ฒฝ์ ํตํด ๋๋ง์ ๋๋ค์์ ๊ฐ์ง ์ ์์ด์.
3. ๋ชจ์ ๋ฆฌ์คํธ ํ์ด์ง ๊ตฌํ
- ์ ์ ๋ค์ด ์์ฑํ ๋ชจ์๋ค์ ๋ณผ ์ ์์ด์.
- ๋ฌดํ ์คํฌ๋กค์ ๊ตฌํํ์์ด์. ๋ฌดํ ์คํฌ๋กค์ ๋ก๋ฉ์ ๋ก๋ฉ ์คํผ๋๋ฅผ ํตํด ๋ก๋ฉ์ค์์ ์ ์ ์์ด์.
4. ๋ชจ์ ์์ฑ ํ์ด์ง ๊ตฌํ
- ๋๋๊ทธ ๋ฐฉ์์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ด ๋ชจ์์ ์์ฑํ ์ ์์ด์.
4. ๋ชจ์ ์์ธํ์ด์ง
- ๋ด๊ฐ ์์ฑํ ๋ชจ์์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์จ์ค
- ๋ฒํผ์ ํตํด ๋ณด๊ธฐ ๋ฐฉ์์ ๋ณ๊ฒฝ ํ ์ ์์ด์.
- ๋ค๋ฅธ ์ฌ๋์ด ์ด ๊ธ์ ๋ง์ฐ์ค๋ฅผ ํตํด ๋ฐฐ์นํ ์ ์์ด์.
- URL ๊ณต์ ํ๊ธฐ์ ์นด์นด์คํก ๊ณต์ ํ๊ธฐ ๊ธฐ๋ฅ์ผ๋ก ๋นํ์๋ ๋งํฌ๋ฅผ ํตํด ๊ธ์ ๋จ๊ธธ ์ ์์ด์
- ์์ด์ฝ์ ํด๋ฆญํด ๊ธ์ ๋ด์ฉ์ ๋ณผ ์ ์์ด์
- ์๋ชป๋ ๊ฒฝ๋ก๋ก ์ ๊ทผํ ๊ฒฝ์ฐ Not-Found UI๋ฅผ ๋ณด์ฌ์คฌ์ด์
- ์๋ฌ ๋ฐ์์ Error UI๋ฅผ ๋ณด์ฌ์คฌ์ด์
- ๊ณต์ ๋ฐ์ URL์ด๋ ์นด์นด์คํก ๊ณต์ ๋ฅผ ํตํด ๊ธ์ ์์ฑํ ์ ์์ด์.
- ์นดํ
๊ณ ๋ฆฌ๋ณ ์ ํ๊ณผ ๋ฐฐ๊ฒฝ์์ ๋ฐ๊ฟ ์ ์์ด์.