๐ ๋ฐฐํฌ ์ฃผ์: https://jindallaem.vercel.app
- ๐ฏ ํ๋ก์ ํธ ์๊ฐ
- ๐ง ๊ธฐ์ ์คํ
- ๐ ์ญํ ๋ถ๋ด
- ๐บ ๊ธฐ๋ฅ ์๊ฐ
- ๐ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
- ๐งฉ ์ปจ๋ฒค์
- ๐ฑ ์ธ๋ถ ๊ธฐ์ ์คํ๊ณผ ์ฑํํ ์ด์
- ๐โโ๏ธ ์ ์ ํ๋ก์ฐ ์ฐจํธ
- ๐ฅ๏ธ ํ๋ฉด ํ๋ฆ๋
- ๐พ ์์คํ ์ํคํ ์ฒ
- ๐ ์ฐ์ถ๋ฌผ
- ๐ ํ๋ก์ ํธ ํ๊ณ

๋ง์ ๋ฌ๋จ์ ๋ฐ์ ์ผ์ ์์์ ์ฌ๋ฆฌ ์๋ด๊ณผ ์ทจ๋ฏธ ํ๋์ ํ๋์ ํ๋ซํผ์์ ์ฐ๊ฒฐํ์ฌ ๋ณด๋ค ์์ฐ์ค๋ฝ๊ฒ ์ ์ ์ ๊ฑด๊ฐ์ ๊ด๋ฆฌํ ์ ์๋ ์น/์ฑ ๊ธฐ๋ฐ ๋ฐ์ํ ํ๋ซํผ์ ๋๋ค.
โ ๋ชจ์ ํ์ ๋ฐ ์ฐธ์ฌ
- ๋ค์ํ ์นดํ ๊ณ ๋ฆฌ์ ๋ชจ์์ ํ์ธํ๊ณ ์์ ๋กญ๊ฒ ์ฐธ์ฌ ๊ฐ๋ฅํฉ๋๋ค.
- ์ฌ๋ฆฌ์ง์ / ๋ง์์ผํฐ ๋ ์์ญ์ผ๋ก ์ํ๋ ๋ชจ์์ ํํฐ๋ง์ ํตํด ์ฐพ์ ์ ์์ต๋๋ค.
โ ๋ชจ์ ๊ฐ์ค
- ํ์์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ฝ๊ฒ ์คํ๋ผ์ธ ๋ชจ์์ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค.
- ํ์๋ง ๋ชจ์ ์์ฑ์ ํ ์ ์์ต๋๋ค.
โ ๋ฆฌ๋ทฐ ์์ฑ
- ๋ชจ์ ์ฐธ์ฌ ํ ๊ฒฝํ์ ๊ณต์ ํ๊ฑฐ๋ ํผ๋๋ฐฑ์ ๋จ๊ธธ ์ ์์ต๋๋ค.
- 1 ~ 5๊ฐ์ ํํธ๋ฅผ ํตํด์ ์ ์๋ฅผ ๋งค๊ธธ ์ ์์ต๋๋ค.
โ ๋ฐ์ํ UI
- ์น ๋ฐ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ์ต์ ํ๋ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณตํฉ๋๋ค.
โ ๋ก๊ทธ์ธ/๋น๋ก๊ทธ์ธ ์ง์
- ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ ์์คํ ์ ํ์ฉํ์ฌ ๋ก๊ทธ์ธ ์์ด๋ ์ผ๋ถ ๊ธฐ๋ฅ ์ด์ฉ ๊ฐ๋ฅ
โ๏ธ ํ๋ก ํธ์๋
๐ ๋ฐฐํฌ ๋ฐ CI/CD
๐ค ํ์ ๋๊ตฌ
๋ด๋น์ | ์ ๋ฌด | ๋น๊ณ |
---|---|---|
์ฌ์ฐ์ | ํ์ฅ ๋ชจ์ ์์ธ ํ์ด์ง ๋ด๋น ํ์ด์ง๋ค์ด์ ์ฐํ๊ธฐ ๊ธฐ๋ฅ ๊ณตํต ์ปดํฌ๋ํธ ์ ์ |
์ง๋ผ ํด ๊ด๋ฆฌ PWA ํ๊ฒฝ์ค์ ํ๋ก์ ํธ ์ค๊ฐ ๋ฐํ |
๋ฐ์ค์ฑ | ๋ชจ์ ์ฐพ๊ธฐ ํ์ด์ง ๋ด๋น(ํ ํ์ด์ง) ๋ชจ์ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ ๋ด๋น ํ๋ก์ ํธ ์ด๊ธฐ ์ค์ ๋ฐ ํด๋ ๊ตฌ์กฐ ์ค์ CI/CD ๋ฐฐํฌ ๋ด๋น ๊ฐ๋ฐ |
๋ฆฌ๋๋ฏธ ์์ฑ ๋ฌดํ์คํฌ๋กค ๊ตฌํ ํจ๋ด๋ ๋ผ์ฐํธ ๋ชจ๋ฌ ๊ธฐ๋ฅ ๊ตฌํ |
๋ฐ์ฑ์ | ๋ฆฌ๋ทฐ ํ์ด์ง ๋ด๋น ํ์ด์ง ๋ณ ๋ค๋น๊ฒ์ด์ ๋ด๋น ๋ฐ์ดํฐ ํํฐ๋ง ์ปดํฌ๋ํธ ๋ด๋น ์๊ธฐ ๋ด๋น |
๋ฌดํ์คํฌ๋กค ๊ตฌํ ํ์ด์ง๋ณ ํํฐ๋ง ๊ด๋ฆฌ PPT ๋ฐํ์๋ฃ ์ค๋น ์์ฐ์์ |
ํฉ์ ์ | ๋ก๊ทธ์ธ ํ์ด์ง ๋ด๋น ํ์๊ฐ์ ํ์ด์ง ๋ด๋น GNB ๋ด๋น ์ฐธ์ฌ์ธ์ ํ๋กํ ๋ชจ์ ์ปดํฌ๋ํธ ๊ฐ๋ฐ |
Zustand persist๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ๊ด๋ฆฌ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ |
์์์ง | ๋ง์ดํ์ด์ง ๋ด๋น ์ฐํ ๋ชจ์ ํ์ด์ง ๋ด๋น ํ๋กํ ์์ ๊ธฐ๋ฅ ๋ด๋น ๋ฆฌ๋ทฐ ์์ฑ ๊ธฐ๋ฅ ๋ด๋น |
api ๊ณตํตํ ์ ์ ๋ก์ง ๊ณตํตํ ๋ชจ๋ฌ ์ปดํฌ๋ํธ ๊ณตํตํ PPT ๋ฐํ์๋ฃ ์ค๋น |
- ๋นํ์ ์ ์ ๊ฐ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ ์ ์๊ณ , ๋ชจ์ ์์ธ ํ์ด์ง, ๋ชจ๋ ๋ฆฌ๋ทฐ ํ์ด์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๋นํ์/ํ์์ผ๋ก ์ฐํ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋น๋ก๊ทธ์ธ ์ ๋ชจ์ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ์ ํด๋ฆญํ๋ฉด ๋ชจ๋ฌ์ฐฝ์ด ์์ฑ๋์ด ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
- ๋ก๊ทธ์ธ ์ํ๋ผ๋ฉด ๋ชจ์ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ์ ํ ์ ์์ต๋๋ค.
- ํํฐ๋ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ด๊ธฐ ๋ฐ์ดํฐ 5๊ฐ๋ SSR ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ ํจ์นญ ํ ๊ทธ ์ดํ ๋ฐ์ดํฐ๋ CSR ๋ฐฉ์์ผ๋ก ๋ฌดํ์คํฌ๋กค ๊ธฐ๋ฅ์ด ๋์๋ฉ๋๋ค.
๋ฉ์ธ ํ์ด์ง |
---|
![]() |
- ๋นํ์/ํ์์ผ๋ก ์ฐํ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ชจ์์ ๋ง๋ ์ฃผ์ต์๋ผ๋ฉด ๋ชจ์์ ์ทจ์ ํน์ ๊ณต์ ๋ฅผ ํ ์ ์์ต๋๋ค.
- ์ฃผ์ต์๊ฐ ์๋ ์ผ๋ฐ ํ์์ด๋ผ๋ฉด ๋ชจ์์ ํ์ธ ํ ์ฐธ์ฌํ ์ ์์ต๋๋ค.
์์ธ ํ์ด์ง |
---|
![]() |
- ๋นํ์์ด๋ผ๋ฉด ํ์๊ฐ์ ํ์ด์ง์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ง์น ํ ํ์๊ฐ์ ์ ํ ์ ์์ต๋๋ค.
- ํ์๊ฐ์ ์ ๋ง์น ํ ๋ก๊ทธ์ธ ํ์ด์ง์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ง์น ํ ๋ก๊ทธ์ธ์ ํ ์ ์์ต๋๋ค.
๋ก๊ทธ์ธ ํ์ด์ง |
---|
![]() |
- ๋นํ์์ผ๋ก ๋ชจ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ํํฐ๋ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ด๊ธฐ ๋ฐ์ดํฐ 5๊ฐ๋ SSR ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ ํจ์นญ ํ ๊ทธ ์ดํ ๋ฐ์ดํฐ๋ CSR ๋ฐฉ์์ผ๋ก ๋ฌดํ์คํฌ๋กค ๊ธฐ๋ฅ์ด ๋์๋ฉ๋๋ค.
๋ฆฌ๋ทฐ ํ์ด์ง |
---|
![]() |
- ๋นํ์/ํ์์ผ๋ก ์ฐํ ๋ชจ์ ๋ชฉ๋ก ๋ฆฌ์คํธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ํํฐ๋ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฐํ๊ธฐ ๊ธฐ๋ฅ์ ํด์ ํ ์ ์์ต๋๋ค.
์ฐํ ํ์ด์ง |
---|
![]() |
- ํ์ ๊ธฐ๋ฅ์ผ๋ก ๋ก๊ทธ์ธ ์ ๋ง์ดํ์ด์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๋์ ๋ชจ์์ ํ์ธํ ์ ์์ต๋๋ค.
- ๋์ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๋ด๊ฐ ๋ง๋ ๋ชจ์์ ํ์ธํ ์ ์์ต๋๋ค.
- ๋์ ์ ๋ณด๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
๋ง์ด ํ์ด์ง |
---|
![]() |
๐ฆ ํ๋ก์ ํธ ๋ฃจํธ
โโโ ๐ .github
โโโ ๐ .husky
โโโ ๐ .next
โโโ ๐ .storybook
โโโ ๐ .swc
โโโ ๐ .vscode
โโโ ๐ coverage
โโโ ๐ node_modules
โโโ ๐ public
โโโ ๐ src
โ โโโ ๐ api
โ โโโ ๐ app
โ โ โโโ ๐ (auth)
โ โ โ โโโ ๐ login
โ โ โ โ โโโ ๐ page.tsx
โ โ โ โโโ ๐ signup
โ โ โ โ โโโ ๐ page.tsx
โ โ โโโ ๐ (home)
โ โ โ โโโ ๐ _components
โ โ โ โโโ ๐ @createmodal
โ โ โ โ โโโ ๐ createmodal
โ โ โ โ โ โโโ ๐ default.tsx
โ โ โ โ โ โโโ ๐ page.tsx
โ โ โ โ โโโ ๐ default.tsx
โ โ โ โโโ ๐ all-reviews
โ โ โ โ โโโ ๐ _components
โ โ โ โ โโโ ๐ page.tsx
โ โ โ โโโ ๐ favorite-meetings
โ โ โ โ โโโ ๐ _components
โ โ โ โ โโโ ๐ page.tsx
โ โ โ โโโ ๐ meeting
โ โ โ โ โโโ ๐ _components
โ โ โ โ โโโ ๐ [id]
โ โ โ โ โ โโโ ๐ page.tsx
โ โ โ โโโ ๐ mypage
โ โ โ โ โโโ ๐ @profile
โ โ โ โ โโโ ๐ @review
โ โ โ โ โโโ ๐ _components
โ โ โ โ โโโ ๐ create-review
โ โ โ โ โโโ ๐ createdMeetings
โ โ โ โ โโโ ๐ meetings
โ โ โ โ โโโ ๐ my-profile
โ โ โ โ โโโ ๐ reviews
โ โ โ โ โโโ ๐ page.tsx
โ โ โโโ ๐ globals.css
โ โ โโโ ๐ layout.tsx
โ โ โโโ ๐ not-found.tsx
โ โโโ ๐ components
โ โโโ ๐ constants
โ โโโ ๐ hooks
โ โโโ ๐ lib
โ โโโ ๐ service
โ โโโ ๐ store
โ โโโ ๐ stories
โ โโโ ๐ types
โ โโโ ๐ utils
โโโ ๐ .env.local
โโโ ๐ .gitignore
โโโ ๐ .prettierrc.js
โโโ ๐ codecov.yml
โโโ ๐ cody.json
โโโ ๐ commitlint.config.js
โโโ ๐ eslint.config.mjs
โโโ ๐ jest.config.ts
โโโ ๐ next-env.d.ts
โโโ ๐ next.config.ts
โโโ ๐ package-lock.json
โโโ ๐ package.json
โโโ ๐ postcss.config.mjs
โโโ ๐ README.md
โโโ ๐ tailwind.config.ts
โโโ ๐ tsconfig.json
โโโ ๐ vitest.config.ts
โโโ ๐ vitest.shims.d.ts
- ๋ธ๋์น๋ช ์ ๊ธฐ๋ฅ ๋๋ ์์ ์ฌํญ์ ๋ช ํํ ๋ฐ์ํ๋๋ก ์ค์
- ํ PR๋น ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ 300์ค ์ดํ๋ก ์ ํ
- ์ฝ๋๋ฆฌ๋ทฐ๋ 1๋ช ์ด์ approve ์น์ธ์ ๋ฐ์์ผ ๋จธ์ง ๊ฐ๋ฅ(1~2์๊ฐ ๋ด ๋ฆฌ๋ทฐ ์๋ฃ)
- ์ปค๋ฐ ๋ฉ์์ง์๋ง ์ ์ฉ
- ์ปค๋ฐ ๋ฉ์์ง ์คํ์ผ์ ํต์ผํ๊ณ ์ญํ ์ ๋ถ๋ฆฌํ๋ ๋ฐ ์ง์ค
- ์ฝ๋ ์คํ์ผ ๋ฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํ ๋ฃฐ ์ค์ ํ ๋์จํ ์ ์ฉ ์ค
- ์ค์ / ์คํ 2ํ ์งํ(๊ฐ 15๋ถ ๋ฏธ๋ง)
- ํ๋ก์ ํธ ์ฑ๋ฅ ์ต์ ํ์ ์ ๋ฆฌํจ
- Next.js 13 ๋ถํฐ ๋์ ๋ App router๊ฐ 15๋ฒ์ ์์ ์์ ํ ๋์๊ธฐ์ ์ ์
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ํ์ด์ง๊ฐ SSR(Server-Side Rendering) ๋ฐฉ์์ผ๋ก ๋ ๋๋ง๋จ
- ๋ฐ๋ผ์ ์ด๊ธฐ ๋ก๋ฉ ์๋ ๊ฐ์ ๋์ด ์ต์ ํ์ ์ ๋ฆฌ
- ์ ์ฌ์ ์์ CSR ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด ํ์ํ ์์ ์๋ง ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์บ์ฑ ๊ฐ๋ฅ
- ๋ค๋ฅธ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋นํด ๋ฒ๋ค ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์๊ณ ๋น ๋ฅด๋ฉฐ, ๊ฐ๋ฒผ์ด ์ํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ธฐ์ ์ ์
- Provider๋ก ๊ฐ์ธ์ง ์๊ณ ๋ฐ๋ก ์ ์ญ์์ ์ฌ์ฉํ ์ ์์ด ์ค์ ์ด ๊ฐ๋จํ๊ณ ํ์ต ๋์ด๋๊ฐ ๋ฎ์์ ์ ์
- ์ํ ๊ด๋ฆฌ์ ๋ณต์ก๋๋ฅผ ์ต์ํํ๋ฉฐ, ๋จ์ํ๊ณ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํด ๋น ๋ฅด๊ฒ ๊ตฌํํ ์ ์์
- useQuery๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ์ ์์ฒญํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅํ๊ณ , ์ดํ ๋์ผํ ํค๋ก ์์ฒญํ๋ฉด ์บ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ์ฌ ์๋ฒ ํธ์ถ์ ์ค์ฌ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ด ์ ์
- useEffect์ ์์กด์ฑ ๋ฐฐ์ด์ ๊ด๋ฆฌํ ํ์ ์์ด, useMutation์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ก๋ํ๋ฉด ํด๋น ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ํ ์๋์ผ๋ก ์บ์๋ ๋ฐ์ดํฐ๋ ๊ด๋ จ๋ ์ฟผ๋ฆฌ๊ฐ ๊ฐฑ์ ๋์ด ์ต์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์๋ก๊ณ ์นจ ์์ด๋ ๋ฐ์ดํฐ๊ฐ ์๋์ผ๋ก ์ ๋ฐ์ดํธ ๋๊ธฐ์ ์ ์
- ๋น๋๊ธฐ ์์ฒญ ์ isPending, isError, isFetching ๋ฑ ๋ด์ฅ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์์ฝ๊ฒ ์ค์ ๊ฐ๋ฅ
- ๋ฌดํ์คํฌ๋กค ๋ฐ ํ์ด์ง๋ค์ด์ ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅ
- prefetchQuery ํน์ prefetchInfiniteQuery๋ฅผ ์ฌ์ฉํด ์๋ฒ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ssr ๋ฐฉ์์ผ๋ก ๋ฏธ๋ฆฌ ํจ์นญํ์ฌ ๋น๋ ์์ ์ ์ ๋ณด๊ฐ ๋ด๊ธด HTML ํ์ผ์ ์ฌ์ฉํ ์ ์์ด ์ฑ๋ฅ ์ต์ ํ์ ์ ๋ฆฌ
- ์ ํธ๋ฆฌํฐ ์คํ์ผ์ ์ ๊ณตํ์ฌ CSS ํ์ผ์ ๋ณ๋๋ก ์์ฑํ ํ์ ์์ด ๋น ๋ฅธ ์คํ์ผ๋ง์ด ๊ฐ๋ฅํ์ฌ ์์ฐ์ฑ์ด ํฅ์๋์ด ์ ํ
- Tailwind JIT(Just-in-Time) ์ปดํ์ผ๋ฌ๋ ๋ฏธ๋ฆฌ ์ปดํ์ผํ์ง ์๊ณ , ํ์ํ ๋๋ง ์ปดํ์ผ์ ์งํํด ์ด๋ ๊ณง CSS ํ์ผ ํฌ๊ธฐ๊ฐ ์์์ ธ, ์น ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ ์ฑ๋ฅ ์ต์ ํ์ ์ ๋ฆฌํจ์ผ๋ก ์ ํ
- Next.js์ ํธ๋ฆฌ ์
ฐ์ดํน๊ณผ ๊ฒฐํฉํ๋ฉด ๋์ฑ ๊ฐ๋ฒผ์ด ์คํ์ผ ํ์ผ์ ์ ์งํ ์ ์๊ธฐ์ ์ ํ
- ํธ๋ฆฌ ์ ฐ์ดํน์ด๋ : ์ฌ์ฉํ์ง ์์ ์คํ์ผ ํด๋์ค๋ค์ ์ ๊ฑฐํ์ฌ CSS ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์์
- Tailwind๋ Next.js์ ๋์ ํด๋์ค ์ ์ฉ๊ณผ ๊ถํฉ์ด ์ข์ clsx ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์กฐ๊ฑด๋ถ ์คํ์ผ๋ง์ด ์ฝ๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํจ์ผ๋ก ์ ํ
- ์๋ํ๋ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ฌ ์ฝ๋๊ฐ ํธ์ฌ๋๋ฉด ์๋์ผ๋ก ๋น๋, ํ ์คํธ, ๋ฐฐํฌ๊ฐ ์งํ๋์ด ๋ฐฐํฌ ๊ณผ์ ์์ ์๋ฌ๋ ์ค์๋ฅผ ์ค์ด๊ณ , ์ ์ํ ํผ๋๋ฐฑ์ ํตํด ๊ฐ๋ฐ ํจ์จ์ฑ์ด ์ฆ๊ฐํจ์ผ๋ก ์ ํ
- ์๋ํ๋ ํ ์คํธ์ ์ฝ๋ ํ์ง ๊ด๋ฆฌ๋ฅผ ํตํด ํ์ ์ ๋ค๋ฅธ ํ์๋ค์ ์ฝ๋ ํ์ง์ ์ ๊ฒฝ ์ฐ์ง ์์๋ ์ผ์ ์์ค ์ด์์ ํ์ง์ ์ ์งํ ์ ์๋๋ก ๋์ ์ ํ
- ๊ฐ์ ํ ๋ด์์ ์์ ํ ํญ๋ชฉ์ ์ํฝ์ผ๋ก ๋๋๊ณ , ์ํฝ์ ๋ํ ์ธ๋ถ ์์ ์ ๋ฐฑ๋ก๊ทธ์ ๊ด๋ฆฌํ ์ ์์ด ๋ค๋ฅธ ํ์๋ค์ ์์ ์ ์ฐ์ ์์์ ์งํ ์ํฉ ์ถ์ ์ด ์ฉ์ดํ์ฌ ์ ํ
- 1์ฃผ์ผ ๋จ์ ์คํ๋ฆฐํธ๋ฅผ ์งํํ์ฌ ์คํ๋ฆฐํธ๊ฐ ์ข ๋ฃ๋ ๋ ํ๊ณ ๋ฅผ ํตํด ์ด๋ ํ ๋ฌธ์ ๊ฐ ์์๋์ง, ๋ฌด์์ ๋ ํด์ผํ๋์ง ์ฝ๊ฒ ํ์ ํ ์ ์๊ธฐ์ ์ ํ
- ๊ทธ๋ํ๋ฅผ ํตํด ์งํ์ด ์ ๋์๋์ง ํ์ ํ๊ธฐ ์์ํ๊ธฐ์ ์ ํ
โญ ํธ๋ฌ๋ธ ์ํ
โญ ๊ฐ๋ฐ ์ปจ๋ฒค์
- ํ ํ๋ก์ ํธ ์์ ์ ์ฑ๋ฅ ์ต์ ํ ๋ฐ ์ฝ๋ ํ์ง ๊ฐ์ ์ ํ๋๊ฒ์ ๋ชฉํ๋ก ์ ํ์ต๋๋ค.
- ์ฝ๋ ์คํ์ผ, ํด๋ ๊ตฌ์กฐ, ์ปค๋ฐ ๋ฉ์์ง ๊ท์น ๋ฑ ๋ช ํํ ์ปจ๋ฒค์ ์ ์ ํ์ฌ ์ฒด๊ณ์ ์ด๊ณ ํจ์จ์ ์ธ ํ์ ์ ํตํ์ฌ ํ์ ๋ฅ๋ ฅ์ ๊ธฐ๋ฅด๋๊ฒ์ ๋ชฉํ๋ก ์ ํ์ต๋๋ค.
- ์ด๊ธฐ ๊ธฐํ ๋จ๊ณ์์ ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ์ ํตํ์ฌ ๊ฐ์์ ์ญํ ๋ถ๋ด์ ์ ํ๊ณ ์ด๋ ํ ๊ธฐ์ ์คํ์ ์ฌ์ฉํ ์ง ์๋ฃ์กฐ์ฌ๋ฅผ ํตํ์ฌ ํ ๋ก ํ ๊ธฐ์ ์คํ ์ ์ ํ์ต๋๋ค.
- ์ดํ figma, notion, jira, discord, zep ํด์ ํ์ฉํ์ฌ ํ๋ก์ ํธ์ ๊ดํ ๋ด์ฉ์ ๊ธฐ๋กํ๋ฉฐ ๋ฌธ์ํ ํ์ต๋๋ค.
- ํ๋ก์ ํธ ๋ชฉํ์ค ํ๋์๋ ์ต์ ํ๋ฅผ ์ํด์ ์ด๊ธฐ ๊ฐ๋ฐ์ csr ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํ์์ผ๋ฉฐ, ์ฑ๋ฅ ์ธก์ ์ดํ ssr ๋ฐฉ์์ผ๋ก ๋ฆฌํฉํ ๋ง์ ๊ฑฐ์ณ ์ด๋ ํ ์งํ๊ฐ ์ฑ๋ฅ ์ต์ ํ๊ฐ ๋์๋์ง ์งํํ์ต๋๋ค.
- Next.js App Router๋ฅผ ํ์ฉํ SSR๊ณผ CSR์ ์กฐํฉ
- Zustand๋ฅผ ํ์ฉํ ์ ์ญ ์ํ ๊ด๋ฆฌ
- React Query์ key ๊ฐ์ ํ์ฉํ ๋ฐ์ดํฐ ๋ฐ prefetch ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ก๋ํด ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์
- CI/CD ๊ตฌ์ถ (Vercel + GitHub Actions)
- Jira๋ฅผ ์ด์ฉํ ์ ์์ผ ๋ฐฉ์์ ์คํ๋ฆฐํธ ์งํ
- GitHub PR ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ์ฌ ์ฝ๋ ํ์ง ํฅ์
- Notion์ ํ์ฉํ ๋ฌธ์ํ ๋ฐ ์ผ์ ๊ด๋ฆฌ
- ํฐํธ ๋๋ ๊ฑฐ๋ฆผ ๊ฐ์
- ์ค๋ณต ์ฝ๋ ์ ๊ฑฐ
- ๊ณตํต ์ปดํฌ๋ํธ ๋น์ค ๋์ด๊ธฐ
- custom hook ์ฌ์ฌ์ฉ์ฑ ๋์ด๊ธฐ
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ฑ๋ฅ ์ต์ ํ, ํ์ ๋ฐฉ์ ๊ฐ์ ๋ฑ์ ๊ธฐ์ ์ ์ฑ์ฅ์ ์ด๋ฃฐ ์ ์์์ต๋๋ค. ๋ํ, ํ์๋ค๊ณผ์ ์ํํ ์ํต์ด ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ค์ํ ์์์์ ๋ค์ ํ๋ฒ ๊นจ๋ซ๊ฒ ๋์์ต๋๋ค.