FE wiki - 100-hours-a-week/2-hertz-wiki GitHub Wiki

๐Ÿ›œ ํŠœ๋‹ ํ”„๋ก ํŠธ์—”๋“œ ์œ„ํ‚ค

TUNING ์„œ๋น„์Šค์˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ตฌ์กฐ, ๊ธฐ์ˆ  ์Šคํƒ, UI/UX ์ „๋žต, ๋ Œ๋”๋ง ๋ฐฉ์‹ ๋ฐ API ํ†ตํ•ฉ ํ๋ฆ„ ์ „๋ฐ˜์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์‹ค์งˆ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆ์ด์–ด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ, ์„œ๋น„์Šค์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ฑ์„ ๊ณ ๋ คํ•œ ์„ค๊ณ„ ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ํ”„๋ก ํŠธ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ
๐Ÿ‘ฅ ํŒ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ


๐Ÿ’ฌ ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌ์กฐ ๋ฐ ์ฃผ์š” ๊ตฌํ˜„ ์ „๋žต

TUNING์€ Next.js 15 App Router ๊ธฐ๋ฐ˜์˜ ๋ชจ๋ฐ”์ผ ํŠนํ™” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ,
์ดˆ๊ธฐ ๋ Œ๋”๋ง ์†๋„ ๊ฐœ์„ ๊ณผ SEO ๋Œ€์‘์„ ์œ„ํ•ด SSR(Server Side Rendering) ๋ฐ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(Server Components)๋ฅผ ์ ๊ทน ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ, UX์˜ ์ผ๊ด€์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋™์‹œ์— ๊ณ ๋ คํ•œ ์„ค๊ณ„๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค


  • ์†Œ์…œ ๋กœ๊ทธ์ธ & ์˜จ๋ณด๋”ฉ: Kakao OAuth๋ฅผ ํ†ตํ•œ ์ธ์ฆ ๋ฐ ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ง‘
  • ์œ ์ € ์„ฑํ–ฅ ๊ธฐ๋ฐ˜ ๋งค์นญ: MBTI, ๊ด€์‹ฌ์‚ฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์ง€ํ‘œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ๋งž์ถคํ˜• AI ์œ ์ € ์ถ”์ฒœ ์‹œ์Šคํ…œ
  • ์‹ค์‹œ๊ฐ„ ์ฑ„๋„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ: ์ฑ„๋„ ๋‹จ์œ„์˜ ๋ฉ”์„ธ์ง€ UI ๋ฐ ๊ฐ์ • ๊ธฐ๋ฐ˜ ์‹œ๊ทธ๋„ ์ธํ„ฐ๋ž™์…˜
  • AI ๊ธฐ๋ฐ˜ TUNING ๋ฆฌํฌํŠธ: ๋งค์นญ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฐ์„ฑ ์ฝ˜ํ…์ธ  ์ƒ์„ฑ
  • ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™” ์„ค๊ณ„: ๋ฐ˜์‘ํ˜• ๊ตฌ์กฐ์™€ iOS ํ‚ค๋ณด๋“œ ํ™•๋Œ€ ๋ฐฉ์ง€ ๋“ฑ ํ”Œ๋žซํผ๋ณ„ ํŠน์ˆ˜ ์ƒํ™ฉ ๋Œ€์‘

| TUNING์˜ ํ”„๋ก ํŠธ์—”๋“œ๋Š” ๋‹จ์ˆœํ•œ ๋ Œ๋”๋ง ๊ณ„์ธต์„ ๋„˜์–ด, ์ธ๊ณต์ง€๋Šฅ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ, ์œ ํ•ด ํ‘œํ˜„ ํ•„ํ„ฐ๋ง, ์œ ์ € ํ–‰๋™ ํ๋ฆ„ ์ œ์–ด์™€ ๊ธด๋ฐ€ํžˆ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ณตํ•ฉ์  ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


1) ํ”„๋ก ํŠธ์—”๋“œ ์„ค๊ณ„ ๊ณผ์ •


2) ๊ฐœ๋ฐœ ์ผ์ •

๊ธฐ๊ฐ„ ์ฃผ์š” ์ž‘์—… ์ด์Šˆ
25.04.28 ~ 25.05.18 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ… / UI ๊ตฌํ˜„ ๋ฐ v1 MVP ๊ฐœ๋ฐœ / ์ฒซ ํ”„๋กœ๋•ํŠธ ๋ฆด๋ฆฌ์ฆˆ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ธํŒ…
25.05.19 ~ 25.06.05 v2 ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ฐœ๋ฐœ

๐Ÿ“ ํด๋” ๊ตฌ์กฐ ๊ฐœ์š”

  • app/ - ๋ผ์šฐํŒ…, SSR ์ฒ˜๋ฆฌ, layout.tsx ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ
  • components/ - ๊ณตํ†ต UI ์ปดํฌ๋„ŒํŠธ
  • features/ - ๋„๋ฉ”์ธ๋ณ„ ๋กœ์ง
  • lib/api/ - API ๋ชจ๋“ˆ ๋ฐ wrapper
  • lib/utils/ - ์œ ํ‹ธ ํ•จ์ˆ˜, Enum ๋งคํ•‘ ๋“ฑ

๐Ÿ’ฌ Git ๋ธŒ๋žœ์น˜ ์ „๋žต

๋ธŒ๋žœ์น˜ ์—ญํ• 
main ์šด์˜ ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜
dev ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ํ†ตํ•ฉ ๋ธŒ๋žœ์น˜
๋ธŒ๋žœ์น˜ ํƒ€์ž… ๋„ค์ด๋ฐ ํŒจํ„ด
๊ธฐ๋Šฅ ์ถ”๊ฐ€ feature/#์ด์Šˆ๋ฒˆํ˜ธ
๋ฒ„๊ทธ ์ˆ˜์ • bug/#์ด์Šˆ๋ฒˆํ˜ธ
๋ฆฌํŒฉํ† ๋ง refactor/#์ด์Šˆ๋ฒˆํ˜ธ

๐Ÿ’ฌ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ๋ฃฐ

ํƒœ๊ทธ (ํƒ€์ž…) ์˜๋ฏธ ์˜ˆ์‹œ
feat โœจ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ feat: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„
fix ๐Ÿ› ๏ธ ๋ฒ„๊ทธ ์ˆ˜์ • fix: ํšŒ์›๊ฐ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •
docs ๐Ÿ“ ๋ฌธ์„œ, ์ฃผ์„, README ์ˆ˜์ • docs: API ๋ช…์„ธ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ
style ๐ŸŽจ ์ฝ”๋“œ ํฌ๋งทํŒ… (๊ธฐ๋Šฅ ๋ณ€ํ™” ์—†์Œ) style: prettier ์ ์šฉ ๋ฐ ์ฝ”๋“œ ์ •๋ฆฌ
refactor โ™ป๏ธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (๊ธฐ๋Šฅ ๋ณ€ํ™” ์—†์Œ) refactor: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ† ๋ง
perf โšก ์„ฑ๋Šฅ ๊ฐœ์„  perf: ์ด๋ฏธ์ง€ lazy loading ์ ์šฉ
test โœ… ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€/์ˆ˜์ • test: ์œ ๋‹› ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ถ”๊ฐ€
chore ๐Ÿ”ง ๋นŒ๋“œ/๋ฐฐํฌ/ํ™˜๊ฒฝ์„ค์ • ์ˆ˜์ • chore: eslint ์„ค์ • ์ถ”๊ฐ€
revert โช ์ด์ „ ์ปค๋ฐ‹ ๋˜๋Œ๋ฆฌ๊ธฐ revert: "feat: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€"











๋ชฉ์ฐจ


๊ฐœ๋ฐœ ์ผ์ •

๊ธฐ๊ฐ„ ์ฃผ์š” ์ž‘์—…
03/31 ~ ๊ธฐํš ๋ฐ ์„ค๊ณ„

์ปจ๋ฒค์…˜ ๋ฃฐ

์ฝ”๋“œ ์ปจ๋ฒค์…˜ (Prettier & ESLint)

๋„ค์ด๋ฐ ๊ทœ์น™

ํ•ญ๋ชฉ ์ผ€์ด์Šค ๊ทœ์น™
ํด๋”๋ช…, ํŒŒ์ผ๋ช…, ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜๋ช…, ์„œ๋ฒ„ ์‘๋‹ต ๋ฐ์ดํ„ฐ camelCase
์ปดํฌ๋„ŒํŠธ๋ช… PascalCase

Prettier

์˜ต์…˜ ๊ฐ’ ์„ค๋ช…
trailingComma
tabWidth
semi
singleQuote
bracketSpacing
jsxBracketSameLine
printWidth

ESLint

ํ•ญ๋ชฉ ์„ค์ • ๋‚ด์šฉ
๊ธฐ๋ณธ ์„ค์ •
TypeScript ์„ค์ •
๊ธ€๋กœ๋ฒŒ ํ™˜๊ฒฝ
๋ฌด์‹œ ํด๋”
ํ”Œ๋Ÿฌ๊ทธ์ธ
์ปค์Šคํ…€ ๋ฃฐ

๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต

๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜

๋ธŒ๋žœ์น˜ ์„ค๋ช…
main
dev

์ž‘์—… ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ ๊ทœ์น™

๋ธŒ๋žœ์น˜ ํƒ€์ž… ๋„ค์ด๋ฐ ํŒจํ„ด
๊ธฐ๋Šฅ ์ถ”๊ฐ€ feature/#์ด์Šˆ๋ฒˆํ˜ธ
๋ฒ„๊ทธ ์ˆ˜์ • bug/#์ด์Šˆ๋ฒˆํ˜ธ
๋ฆฌํŒฉํ† ๋ง refactor/#์ด์Šˆ๋ฒˆํ˜ธ

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€

์ปค๋ฐ‹ ์œ ํ˜• ์„ค๋ช…
feat
fix
docs
style
refactor
test
chore
design
comment
rename
remove
BREAKING CHANGE
HOTFIX

PR ์ปจ๋ฒค์…˜

์˜ˆ์‹œ: Feature - ๋ฉ”์ธ ํŽ˜์ด์ง€ UI ๊ตฌํ˜„

ํƒœ๊ทธ ์˜๋ฏธ ์„ค๋ช…
์ฝ”๋“œ ๊ตฌ์กฐ ๊ฐœ์„ 
์„ฑ๋Šฅ ๊ฐœ์„ 
์ฝ”๋“œ/ํŒŒ์ผ ์ œ๊ฑฐ
๋ฒ„๊ทธ ์ˆ˜์ •
๊ธด๊ธ‰ ์ˆ˜์ •
๊ธฐ๋Šฅ ์ถ”๊ฐ€
UI/์Šคํƒ€์ผ ์ˆ˜์ •
๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋˜๋Œ๋ฆฌ๊ธฐ
๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ
์ฃผ์„ ์ถ”๊ฐ€/์ˆ˜์ •
DB ๊ด€๋ จ ๋ณ€๊ฒฝ

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…


์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—ญํ•  / ์„ค๋ช…
์˜ˆ์‹œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ช… ์„ค๋ช… ์ž‘์„ฑ

๋””์ž์ธ ์‹œ์Šคํ…œ


๋ฐฐํฌ ํ™˜๊ฒฝ ๋ฐ CI/CD ํŒŒ์ดํ”„๋ผ์ธ

๊ตฌ์„ฑ ๋‚ด์šฉ ์ž‘์„ฑ


์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ ๋„๊ตฌ

๋„๊ตฌ ์—ญํ•  ๋ชฉ์ 
๋„๊ตฌ๋ช…

ํ…Œ์ŠคํŠธ ์ „๋žต

๋„๊ตฌ ์—ญํ•  ๋ชฉ์ 
๋„๊ตฌ๋ช…
โš ๏ธ **GitHub.com Fallback** โš ๏ธ