Skip to content

junesung1004/dallaem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํ•จ๊ป˜๋ผ์„œ ๋” ๋น›๋‚˜๋Š” ๋งˆ์Œ, ๋งˆ์Œ์˜ ์‰ผํ‘œ โญ๋งˆ์Œ ๋‹ฌ๋žจโญ

alt text



๐Ÿš€ ๋ฐฐํฌ ์ฃผ์†Œ: https://jindallaem.vercel.app

๐ŸŽถ ๋ชฉ์ฐจ


๐ŸŽฌ ์‹œ์—ฐ ์˜์ƒ

image

โœจ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

ํ•จ๊ป˜๋ผ์„œ ๋” ๋น›๋‚˜๋Š” ๋งˆ์Œ, ๋งˆ์Œ ๋‹ฌ๋žจ

๋งˆ์Œ ๋‹ฌ๋žจ์€ ๋ฐ”์œ ์ผ์ƒ ์†์—์„œ ์‹ฌ๋ฆฌ ์ƒ๋‹ด๊ณผ ์ทจ๋ฏธ ํ™œ๋™์„ ํ•˜๋‚˜์˜ ํ”Œ๋žซํผ์—์„œ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ณด๋‹ค ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ •์‹ ์  ๊ฑด๊ฐ•์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์›น/์•ฑ ๊ธฐ๋ฐ˜ ๋ฐ˜์‘ํ˜• ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

๐Ÿ”น ์ฃผ์š” ๊ธฐ๋Šฅ

โœ… ๋ชจ์ž„ ํƒ์ƒ‰ ๋ฐ ์ฐธ์—ฌ

  • ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋ชจ์ž„์„ ํ™•์ธํ•˜๊ณ  ์ž์œ ๋กญ๊ฒŒ ์ฐธ์—ฌ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ฌ๋ฆฌ์ง€์› / ๋งˆ์Œ์‰ผํ„ฐ ๋‘ ์˜์—ญ์œผ๋กœ ์›ํ•˜๋Š” ๋ชจ์ž„์„ ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… ๋ชจ์ž„ ๊ฐœ์„ค

  • ํšŒ์›์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์˜คํ”„๋ผ์ธ ๋ชจ์ž„์„ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํšŒ์›๋งŒ ๋ชจ์ž„ ์ƒ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… ๋ฆฌ๋ทฐ ์ž‘์„ฑ

  • ๋ชจ์ž„ ์ฐธ์—ฌ ํ›„ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ํ”ผ๋“œ๋ฐฑ์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 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 ํ…œํ”Œ๋ฆฟ ํ™œ์šฉ

  • ๋ธŒ๋žœ์น˜๋ช…์€ ๊ธฐ๋Šฅ ๋˜๋Š” ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ๋ฐ˜์˜ํ•˜๋„๋ก ์„ค์ •
  • ํ•œ PR๋‹น ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ 300์ค„ ์ดํ•˜๋กœ ์ œํ•œ
  • ์ฝ”๋“œ๋ฆฌ๋ทฐ๋Š” 1๋ช…์ด์ƒ approve ์Šน์ธ์„ ๋ฐ›์•„์•ผ ๋จธ์ง€ ๊ฐ€๋Šฅ(1~2์‹œ๊ฐ„ ๋‚ด ๋ฆฌ๋ทฐ ์™„๋ฃŒ)

๐Ÿ”น Husky

  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์—๋งŒ ์ ์šฉ
  • ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์Šคํƒ€์ผ์„ ํ†ต์ผํ•˜๊ณ  ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ ์ง‘์ค‘

๐Ÿ”น ES Lint

  • ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฃฐ ์„ค์ • ํ›„ ๋А์Šจํ•œ ์ ์šฉ ์ค‘

๐Ÿ”น ์Šคํฌ๋Ÿผ

  • ์˜ค์ „ / ์˜คํ›„ 2ํšŒ ์ง„ํ–‰(๊ฐ 15๋ถ„ ๋ฏธ๋งŒ)


๐Ÿ”ง ์„ธ๋ถ€ ๊ธฐ์ˆ  ์Šคํƒ๊ณผ ์ฑ„ํƒํ•œ ์ด์œ 

- Next.js 15๋ฒ„์ „ ์ฑ„ํƒ ์ด์œ  :

  1. ํ”„๋กœ์ ํŠธ ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ๋ฆฌํ•จ
  2. Next.js 13 ๋ถ€ํ„ฐ ๋„์ž…๋œ App router๊ฐ€ 15๋ฒ„์ „์—์„œ ์•ˆ์ •ํ™” ๋˜์—ˆ๊ธฐ์— ์„ ์ •
  3. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ SSR(Server-Side Rendering) ๋ฐฉ์‹์œผ๋กœ ๋ Œ๋”๋ง๋จ
  4. ๋”ฐ๋ผ์„œ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ ๊ฐœ์„ ๋˜์–ด ์ตœ์ ํ™”์— ์œ ๋ฆฌ
  5. ์ ์žฌ์ ์†Œ์— CSR ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ํ•„์š”ํ•œ ์‹œ์ ์—๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์บ์‹ฑ ๊ฐ€๋Šฅ




- Zustand ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฑ„ํƒ ์ด์œ  :

  1. ๋‹ค๋ฅธ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋น„ํ•ด ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ์ž‘๊ณ  ๋น ๋ฅด๋ฉฐ, ๊ฐ€๋ฒผ์šด ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ์— ์„ ์ •
  2. Provider๋กœ ๊ฐ์‹ธ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ „์—ญ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๊ณ  ํ•™์Šต ๋‚œ์ด๋„๊ฐ€ ๋‚ฎ์•„์„œ ์„ ์ •
  3. ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๋ณต์žก๋„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉฐ, ๋‹จ์ˆœํ•˜๊ณ  ์ง๊ด€์ ์ธ API๋ฅผ ์ œ๊ณตํ•ด ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ




- Tanstack Query ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฑ„ํƒ ์ด์œ  :

  1. useQuery๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ ์š”์ฒญํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œ์— ์ €์žฅํ•˜๊ณ , ์ดํ›„ ๋™์ผํ•œ ํ‚ค๋กœ ์š”์ฒญํ•˜๋ฉด ์บ์‹œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ์„œ๋ฒ„ ํ˜ธ์ถœ์„ ์ค„์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์–ด ์„ ์ •
  2. useEffect์˜ ์˜์กด์„ฑ ๋ฐฐ์—ด์„ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด, useMutation์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋œ ํ›„ ์ž๋™์œผ๋กœ ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ๋‚˜ ๊ด€๋ จ๋œ ์ฟผ๋ฆฌ๊ฐ€ ๊ฐฑ์‹ ๋˜์–ด ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๊ธฐ์— ์„ ์ •
  3. ๋น„๋™๊ธฐ ์š”์ฒญ ์‹œ isPending, isError, isFetching ๋“ฑ ๋‚ด์žฅ๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์†์‰ฝ๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ
  4. ๋ฌดํ•œ์Šคํฌ๋กค ๋ฐ ํŽ˜์ด์ง€๋„ค์ด์…˜๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  5. prefetchQuery ํ˜น์€ prefetchInfiniteQuery๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ssr ๋ฐฉ์‹์œผ๋กœ ๋ฏธ๋ฆฌ ํŒจ์นญํ•˜์—ฌ ๋นŒ๋“œ ์‹œ์ ์— ์ •๋ณด๊ฐ€ ๋‹ด๊ธด HTML ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ๋ฆฌ





- Tailwind CSS ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹ ์„ ํƒ ์ด์œ  :

  1. ์œ ํ‹ธ๋ฆฌํ‹ฐ ์Šคํƒ€์ผ์„ ์ œ๊ณตํ•˜์—ฌ CSS ํŒŒ์ผ์„ ๋ณ„๋„๋กœ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ๋น ๋ฅธ ์Šคํƒ€์ผ๋ง์ด ๊ฐ€๋Šฅํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์ด ํ–ฅ์ƒ๋˜์–ด ์„ ํƒ
  2. Tailwind JIT(Just-in-Time) ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผํ•˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•  ๋•Œ๋งŒ ์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•ด ์ด๋Š” ๊ณง CSS ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ ธ, ์›น ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋นจ๋ผ ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ๋ฆฌํ•จ์œผ๋กœ ์„ ํƒ
  3. Next.js์˜ ํŠธ๋ฆฌ ์…ฐ์ดํ‚น๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด ๋”์šฑ ๊ฐ€๋ฒผ์šด ์Šคํƒ€์ผ ํŒŒ์ผ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์„ ํƒ
    • ํŠธ๋ฆฌ ์…ฐ์ดํ‚น์ด๋ž€ : ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์Šคํƒ€์ผ ํด๋ž˜์Šค๋“ค์„ ์ œ๊ฑฐํ•˜์—ฌ CSS ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์ž„์ž„
  4. Tailwind๋Š” Next.js์˜ ๋™์  ํด๋ž˜์Šค ์ ์šฉ๊ณผ ๊ถํ•ฉ์ด ์ข‹์•„ clsx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ฑด๋ถ€ ์Šคํƒ€์ผ๋ง์ด ์‰ฝ๊ฒŒ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•จ์œผ๋กœ ์„ ํƒ





- Github Actions ์‚ฌ์šฉ ์ด์œ  :

  1. ์ž๋™ํ™”๋œ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜์—ฌ ์ฝ”๋“œ๊ฐ€ ํ‘ธ์‰ฌ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊ฐ€ ์ง„ํ–‰๋˜์–ด ๋ฐฐํฌ ๊ณผ์ •์—์„œ ์—๋Ÿฌ๋‚˜ ์‹ค์ˆ˜๋ฅผ ์ค„์ด๊ณ , ์‹ ์†ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์ด ์ฆ๊ฐ€ํ•จ์œผ๋กœ ์„ ํƒ
  2. ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์™€ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ํ˜‘์—… ์‹œ ๋‹ค๋ฅธ ํŒ€์›๋“ค์˜ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์˜ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€ ์„ ํƒ





- Jira ์‚ฌ์šฉ ์ด์œ  :

  1. ๊ฐ์ž ํŒ€ ๋‚ด์—์„œ ์ž‘์—…ํ•  ํ•ญ๋ชฉ์„ ์—ํ”ฝ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์—ํ”ฝ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ž‘์—…์„ ๋ฐฑ๋กœ๊ทธ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค๋ฅธ ํŒ€์›๋“ค์˜ ์ž‘์—…์˜ ์šฐ์„ ์ˆœ์œ„์™€ ์ง„ํ–‰ ์ƒํ™ฉ ์ถ”์ ์ด ์šฉ์ดํ•˜์—ฌ ์„ ํƒ
  2. 1์ฃผ์ผ ๋‹จ์œ„ ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ์Šคํ”„๋ฆฐํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ํšŒ๊ณ ๋ฅผ ํ†ตํ•ด ์–ด๋– ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”์ง€, ๋ฌด์—‡์„ ๋” ํ•ด์•ผํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์„ ํƒ
  3. ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์ง„ํ–‰์ด ์ž˜ ๋˜์—ˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์ˆ˜์›”ํ•˜๊ธฐ์— ์„ ํƒ





๐Ÿ„ ์œ ์ € ํ”Œ๋กœ์šฐ ์ฐจํŠธ



๐Ÿ“บ ํ™”๋ฉด ํ๋ฆ„๋„



๐Ÿ’พ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜




๐Ÿ‘€ ์‚ฐ์ถœ๋ฌผ




๐Ÿ“ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

๋ชฉํ‘œ ๋ฐ ๋™๊ธฐ

  • ํŒ€ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ „ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฐœ์„ ์„ ํ•˜๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์Šคํƒ€์ผ, ํด๋” ๊ตฌ์กฐ, ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™ ๋“ฑ ๋ช…ํ™•ํ•œ ์ปจ๋ฒค์…˜์„ ์ •ํ•˜์—ฌ ์ฒด๊ณ„์ ์ด๊ณ  ํšจ์œจ์ ์ธ ํ˜‘์—…์„ ํ†ตํ•˜์—ฌ ํ˜‘์—… ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅด๋Š”๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง„ํ–‰ ๊ณผ์ •

  • ์ดˆ๊ธฐ ๊ธฐํš ๋‹จ๊ณ„์—์„œ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ์„ ํ†ตํ•˜์—ฌ ๊ฐ์ž์˜ ์—ญํ•  ๋ถ„๋‹ด์„ ์ •ํ•˜๊ณ  ์–ด๋– ํ•œ ๊ธฐ์ˆ  ์Šคํƒ์„ ์‚ฌ์šฉํ•  ์ง€ ์ž๋ฃŒ์กฐ์‚ฌ๋ฅผ ํ†ตํ•˜์—ฌ ํ† ๋ก  ํ›„ ๊ธฐ์ˆ  ์Šคํƒ ์„ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ดํ›„ 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 ์žฌ์‚ฌ์šฉ์„ฑ ๋†’์ด๊ธฐ

์†Œ๊ฐ ๋ฐ ์„ฑ์žฅ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ ์ตœ์ ํ™”, ํ˜‘์—… ๋ฐฉ์‹ ๊ฐœ์„  ๋“ฑ์˜ ๊ธฐ์ˆ ์  ์„ฑ์žฅ์„ ์ด๋ฃฐ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํŒ€์›๋“ค๊ณผ์˜ ์›ํ™œํ•œ ์†Œํ†ต์ด ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์— ์ค‘์š”ํ•œ ์š”์†Œ์ž„์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5