Skip to content

๐Ÿฅ‡ ํ™˜๊ฒฝ์„ ์ƒ๊ฐํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ Dream 8 ์ž…๋‹ˆ๋‹ค! ๐Ÿฅ‡

Notifications You must be signed in to change notification settings

FRONTENDSCHOOL8/dream8

Repository files navigation

Dream 8์กฐ

ํ”„๋กœ์ ํŠธ ๋ช… : Dream

๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
  2. ๊ธฐํš
  3. ๋””์ž์ธ ์‹œ์•ˆ(Figma)
  4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ERM
  5. ์ž‘๋™ํ™”๋ฉด
  6. ์ฃผ์š”๊ธฐ๋Šฅ
  7. ๊ธฐ๋Šฅ๋ณ„ ํŽ˜์ด์ง€ ๋ถ„์„
  8. ํŒ€์› ํšŒ๊ณ 

1.ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๐Ÿ’– Dream์€ ํ™˜๊ฒฝ ๋ณดํ˜ธ์™€ ์‚ฌํšŒ ๊ณตํ—Œ์„ ๋™์‹œ์— ์‹คํ˜„ํ•˜๋Š” ๊ฑฐ๋ž˜, ์ค‘๊ณ ํŒ๋งค ์˜จ๋ผ์ธ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ท์„ ๋ฒ„๋ฆฌ๋Š” ๋Œ€์‹  ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํŒ๋งคํ•˜๊ณ , ํŒ๋งค ์ˆ˜์ต์€ ์‚ฌํšŒ ๊ณตํ—Œ ํ™œ๋™์— ๊ธฐ๋ถ€๋ฉ๋‹ˆ๋‹ค.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆIntroducing the team

ํŒ€์› Github ์ฃผ์†Œ

๐Ÿ‘จโ€๐Ÿš€ ์ •์„œ๋ฆฐ : https://github.com/lin0211
๐Ÿ‘จโ€๐Ÿš€ ๊ฐ•ํƒœ์šฑ : https://github.com/Taewook1212
๐Ÿ‘จโ€๐Ÿš€ ์กฐํ˜„๋ˆ : https://github.com/chohyundon
๐Ÿ‘จโ€๐Ÿš€ ์—ฌ์„œ์œค : https://github.com/yeo-seoyun



  • ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ : Dream
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2024 2์›” 19์ผ ~ 3์›” 14์ผ
  • ํ”„๋กœ์ ํŠธ ์„ค์น˜ ๋ฐฉ๋ฒ• :
    ํŒจํ‚ค์ง€ ์„ค์น˜
      npm i
      npm run dev
    
  • ํ”„๋กœ์ ํŠธ vacel URL :
        https://dream8.vercel.app/ 
    
  • ๊ธฐ์ˆ ์Šคํƒ

2. ๊ธฐํš

๊ธฐํš ๋ฐœํ‘œ URL : https://www.canva.com/design/DAF9ZAMC0L4/PgiIeWpvj1BTwMY_7Yckog/edit
์ตœ์ข… ๋ฐœํ‘œ URL : https://www.canva.com/design/DAF_Xhuhykg/E4Co7XP5L8P3ZyPKtsqCnw/edit

3. ๋””์ž์ธ ์‹œ์•ˆ(Figma)

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ERM

5. ์ž‘๋™ํ™”๋ฉด

[๋ฉ”์ธ]
[๋กœ๊ทธ์ธํŽ˜์ด์ง€] [ํšŒ์›๊ฐ€์ž…ํŽ˜์ด์ง€]
[๋งˆ์ดํŽ˜์ด์ง€] [๋งˆ์ดํŽ˜์ด์ง€ ๋‚ด์—ญ]
[ํŒ๋งคํŽ˜์ด์ง€] [ํŒ๋ฉ”๋””ํ…Œ์ผ]
[์žฅ๋ฐ”๊ตฌ๋‹ˆ]
[๊ตํ™˜ํŽ˜์ด์ง€] [๊ตํ™˜์ž‘์„ฑ]
[ํ›„์›ํŽ˜์ด์ง€ ํ›„์›์ž‘์„ฑํŽ˜์ด์ง€]
[์†Œ์‹ํŽ˜์ด์ง€]

7 ๊ธฐ๋Šฅ๋ณ„ ํŽ˜์ด์ง€ ๋ถ„์„

๊ณตํ†ต ์š”์†Œ

Button, Input ๊ฐ™์ด ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์€ ์š”์†Œ๋Š” ์•„ํ† ๋ฏน ์ปดํฌ๋„ŒํŠธ๋กœ ์ œ์ž‘

๐Ÿ’ป ์ •์„œ๋ฆฐ

ํŒ๋งคํŽ˜์ด์ง€

  • Pocketbase/PocketHost๋ฅผ ์ด์šฉํ•œ ์ƒํ’ˆ์˜ isSale๊ฐ€ ์ฐธ์ธ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • ๋ฆฌ์ŠคํŠธ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ƒํ’ˆ๋ฆฌ์ŠคํŠธ ํ•„ํ„ฐํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • ์ƒํ’ˆ์˜ ๋“ฑ๊ธ‰๋ณ„, ๊ฐ€๊ฒฉ๋ณ„, ๊ทธ๋ฆฌ๊ณ  created ๋œ ์‹œ๊ฐ„์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • ๊ฒ€์ƒ‰ ํ•˜์—ฌ ์ƒํ’ˆ title์— ๋ถ€ํ•ฉํ•˜๋Š” ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • Lazy Loading์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์•ฑ ์„ฑ๋Šฅ ์ตœ์ ํ™”

ํŒ๋งค๋””ํ…Œ์ผ ํŽ˜์ด์ง€

  • ์ฃผ์†Œ์ฐฝ์— ์ €์žฅ๋œ params๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์ƒํ’ˆ์˜ ์•„์ด๋””์— ๋งž๋Š” ๋ฐ์ดํ„ฐ์˜ ์ƒ์„ธ ๋‚ด์—ญ์„ ๋ Œ๋”๋ง
  • ์ƒํ’ˆ์˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž์œผ๋ฉฐ, ์ƒ์„ธํŽ˜์ด์ง€์— ๋ณด์—ฌ์ฃผ๋Š” ์ƒํ’ˆ์€ ์ œ์™ธํ•œ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ(๊ด€๋ จ์ƒํ’ˆ)๋ฅผ ๋ Œ๋”๋ง
  • ์ธ๋„ค์ผ ํด๋ฆญ์‹œ ์ƒํ’ˆ์˜ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋Šฅ
  • ๊ตฌ๋งคํ•˜๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ์ƒํ’ˆ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ์ดํ„ฐ์— ์ „์†กํ•˜๊ณ  ์žฅ๋ฐ”๊ตฌ๋‹ˆ ยท ๊ฒฐ์ œํŽ˜์ด์ง€์œผ๋กœ ์ด๋™
  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฒ„ํŠผ์œผ๋กœ ์ƒํ’ˆ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ์ดํ„ฐ์— ์ „์†กํ•˜๋ฉฐ ๋ณด๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€์— ๋จธ๋ฌด๋ฅผ์ง€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ยท ๊ฒฐ์ œํŽ˜์ด์ง€๋กœ ์ด๋™ํ• ์ง€ ์—ฌ๋ถ€ ์„ ํƒ ๋ชจ๋‹ฌ์ฐฝ์œผ๋กœ ํ™•์ธ

์žฅ๋ฐ”๊ตฌ๋‹ˆ ยท ๊ฒฐ์ œ ํŽ˜์ด์ง€

  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ์ดํ„ฐ ๋ Œ๋”๋ง
  • x ๋ฒ„ํŠผ์œผ๋กœ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ์ดํ„ฐ์—์„œ ์‚ญ์ œ๋˜๊ณ  ๋ฆฌ์ŠคํŠธ์— ๋ณด์ด์ง€ ์•Š๋„๋กํ•˜๊ธฐ ์œ„ํ•ด refetch
  • ์ƒํ’ˆ์˜ ์ฒดํฌ ๋ฐ•์Šค ํด๋ฆญ์‹œ ์„ ํƒ๋œ ์ƒํ’ˆ๋“ค์˜ ๊ฐ€๊ฒฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๊ตฌ๋งค ์ •๋ณด์— ํ‘œ์‹œ
  • ๊ฒฐ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์„ ํƒ๋œ ์ƒํ’ˆ์˜ ์ƒํƒœ๊ฐ€ isSale ๊ฑฐ์ง“์ด ๋˜์–ด ํŒ๋งค๋ฆฌ์ŠคํŠธ์—์„œ ์ œ์™ธ๋˜๋„๋ก ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ
  • ๊ฒฐ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ์ดํ„ฐ์˜ isPayed๋Š” ์ฐธ์ด ๋˜๊ณ  ๋ฆฌ์ŠคํŠธ์— ๋ณด์ด์ง€ ์•Š๋„๋กํ•˜๊ธฐ ์œ„ํ•ด refetch

๋ชจ๋‹ฌ์ฐฝ

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

๐Ÿ’ป ๊ฐ•ํƒœ์šฑ

ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

  • ๋กœ๊ทธ์ธ ์—ฌ๋ถ€์™€ ๋กœ๊ทธ์ธ ์œ ์ €์˜ ์ •๋ณด๋ฅผ zustand useLoginFormStore.tsx ์— ์ €์žฅํ•˜๊ณ  psersist ๋ผ์ด๋ธŒ๋ฒ„๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ sessionStorage๋กœ ์„ค์ •, ์ƒˆ๋กœ๊ณ ์นจ ๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ ๋กœ๊ทธ์•„์›ƒ ๋กœ๊ทธ์ธ ์ƒํƒœ ํ•ด๊ฒฐ
  • ํ™”๋ฉด ์šฐ์ธก ์ƒ๋‹จ์— [๋น„ ๋กœ๊ทธ์ธ] ์‹œ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ํ‘œ์‹œ, [๋กœ๊ทธ์ธ] ์‹œ ๋งˆ์ดํŽ˜์ด์ง€, ๋กœ๊ทธ์•„์›ƒ ํ‘œ์‹œ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์„ ํ†ตํ•ด validation ์ ์šฉ, ์นด์นด์˜ค ์ง€๋„ api๋ฅผ ํ†ตํ•œ ์ฃผ์†Œ ์ž…๋ ฅ ๊ธฐ๋Šฅ
  • ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๋กœ๊ทธ์ธ์— ์‹คํŒจ ์‹œ ๊ฒฝ๊ณ ์ฐฝ ์ถœ๋ ฅ

๋งˆ์ด ํŽ˜์ด์ง€

  • Mypage ๊ฒฝ๋กœ ์•ˆ์— ๊ฐ ํŽ˜์ด์ง€๋“ค์€ children ์œผ๋กœ route์„ ๊ตฌ์„ฑ, ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ pb ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ๋กœ๊ทธ์ธ ์œ ์ €์˜ ํ™œ๋™๋‚ด์—ญ์„ ์ถœ๋ ฅ
  • tanstack Query staleTime 10์ดˆ ์„ค์ • ํ›„ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์บ์‹ฑํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฐ์†Œ์™€ ์†๋„ ๊ฐœ์„ 
  • ์ถ”ํ›„ ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ์„ ํ†ตํ•ด ์ถ”๊ฐ€ ์ด๋ฏธ์ง€ ๋“ฑ๋ก์„ ์œ„ํ•œ ์กฐ์น˜ ๊ฐ€๋Šฅ

์•Œ๋ฆผ ํ‘œ์‹œ

  • ๋กœ๊ทธ์ธ ์ƒํƒœ์— ๋”ฐ๋ผ ๋งž์ถคํ™”๋œ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [๋น„ ๋กœ๊ทธ์ธ]์‹œ ๋กœ๊ทธ์ธ ์œผ๋กœ ์œ ๋„
  • ์•Œ๋ฆผ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ notification DB๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค๊ณ  ์•Œ๋ฆผ DB์— pb์˜ realtime์„ ์œ„ํ•œ ์ฝ”๋“œ์ธ subscribe๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์•Œ๋ฆผ DB์— ๊ตฌ๋…์ƒํƒœ๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฌผ๊ฑด์„ ์‚ฌ๊ฑฐ๋‚˜ ํ›„์›๋“ฑ๋ก ์‹œ ๊ทธ ์•Œ๋ฆผ DB์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด ์คŒ์œผ๋กœ ์จ ์—…๋ฐ์ดํŠธ.
  • ์•Œ๋ฆผ๊ฐฏ์ˆ˜๋Š” useCountStore.tsx store์— ์ „์—ญ์ƒํƒœ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์ฝ๊ฒŒ ๋˜๋ฉด clear๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด ์ดˆ๊ธฐํ™”.

ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํŽ˜์ด์ง€

  • ๋กœ๊ทธ์ธ ์—ฌ๋ถ€์™€ ๋กœ๊ทธ์ธ ์œ ์ €์˜ ์ •๋ณด๋ฅผ zustand useLoginFormStore.tsx ์— ์ €์žฅํ•˜๊ณ  psersist ๋ผ์ด๋ธŒ๋ฒ„๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ sessionStorage๋กœ ์„ค์ •, ์ƒˆ๋กœ๊ณ ์นจ ๋ฌธ์ œ ํ•ด๊ฒฐ๊ณผ ๋กœ๊ทธ์•„์›ƒ ๋กœ๊ทธ์ธ ์ƒํƒœ ํ•ด๊ฒฐ
  • ํ™”๋ฉด ์šฐ์ธก ์ƒ๋‹จ์— [๋น„ ๋กœ๊ทธ์ธ] ์‹œ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ํ‘œ์‹œ, [๋กœ๊ทธ์ธ] ์‹œ ๋งˆ์ดํŽ˜์ด์ง€, ๋กœ๊ทธ์•„์›ƒ ํ‘œ์‹œ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์„ ํ†ตํ•ด validation ์ ์šฉ, ์นด์นด์˜ค ์ง€๋„ api๋ฅผ ํ†ตํ•œ ์ฃผ์†Œ ์ž…๋ ฅ ๊ธฐ๋Šฅ
  • ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ๋กœ๊ทธ์ธ์— ์‹คํŒจ ์‹œ ๊ฒฝ๊ณ ์ฐฝ ์ถœ๋ ฅ

๐Ÿ’ป ์กฐํ˜„๋ˆ

๊ตํ™˜ํŽ˜์ด์ง€

  • Pocketbase/PocketHost๋ฅผ ์ด์šฉํ•œ ์ƒํ’ˆ์˜ isExchange๊ฐ€ ์ฐธ์ธ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • ํฌ์ผ“๋ฒ ์ด์Šค exchange์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
  • ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋“ค ๋” ๋ณผ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„

๊ตํ™˜๋””ํ…Œ์ผ ํŽ˜์ด์ง€

  • ๊ฐ ๋ฆฌ์ŠคํŠธ๋“ค์˜ id๋ฅผ useParams๋กœ ๊ฐ€์ ธ์™€์„œ ๊ฐ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง
  • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ์ˆ˜์ •ํ•˜๊ธฐ, ์‚ญ์ œํ•˜๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋Š” ์ฑ„ํŒ…๋งŒ ๊ฐ€๋Šฅ

๊ตํ™˜๊ธ€ ์ž‘์„ฑ ํŽ˜์ด์ง€

  • ๊ตํ™˜์„ ์›ํ•˜๋Š” ์ƒํ’ˆ์ด ์žˆ์„์‹œ form ๋ฐ์ดํ„ฐ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํŒจ์ด์ง€ ๊ตฌํ˜„
  • ์‹ ์ฒญ ํผ์˜ ๊ธ€์„ ๋น„์šฐ๊ฒŒ ๋˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋„๋ก validation ๊ตฌํ˜„
  • ๊ตํ™˜ ์ƒ์„ธ ํŽ˜์ด์ง€์— 300๊ธ€์ž ๋„˜์–ด๊ฑฐ๋ฉด ์˜ค๋ฅ˜ ์ƒ๊ธฐ๋„๋ก validation ๊ตฌํ˜„

๊ตํ™˜๊ธ€ ์ˆ˜์ • ํŽ˜์ด์ง€

  • ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•œ ์‚ฌ๋žŒ์ด ๊ธ€์„ ์ˆ˜์ •ํ•˜๊ณ  ์ƒ†์„ ๋–„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„
  • ์‹ ์ฒญ ์–‘์‹์—๋Š” ๊ธฐ๋ณธ์ ์ธ ์ „์— ์‚ฌ์šฉํ–ˆ๋˜ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์™€์„œ ๋ Œ๋”๋ง
  • ์ˆ˜์ •๊ธ€์„ ์•„๋ฌด๊ฒƒ๋„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์˜ค๋ฅ˜ ๋‚˜๋„๋ก validation ๊ตฌํ˜„

์ฑ„ํŒ… ํŽ˜์ด์ง€

  • ๋ฆฌ์–ผ ํƒ€์ž„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉ์ž๋“ค ๋ผ๋ฆฌ 1๋Œ€1 ์ฑ„ํŒ… ๊ตฌํ˜„
  • ์•„์ง ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„์€ x

๐Ÿ’ป ์—ฌ์„œ์œค

๋ฉ”์ธํŽ˜์ด์ง€

  • GSAP์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€๋“œ๋Ÿฌ์šด ์Šคํฌ๋กค ํšจ๊ณผ ์ ์šฉ
  • ์˜์—ญ๋งˆ๋‹ค ์Šคํฌ๋กค ์‹œ GSAP ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ
  • ๋“œ๋ฆผ์†Œ์‹ ์˜์—ญ์˜ ์นด๋“œ ํด๋ฆญ ์‹œ ๊ฐ๊ฐ์˜ ๋””ํ…Œ์ผ ํŽ˜์ด์ง€๋กœ ์ด๋™

์†Œ์‹ํŽ˜์ด์ง€

  • tanstackQuery๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
  • PocketBase์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ๋ Œ๋”๋ง
  • ๋ฆฌ์ŠคํŠธ ํด๋ฆญ ํ•˜๋ฉด ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ƒ์„ธ์ •๋ณด ์ถœ๋ ฅ

ํ›„์›, ํ›„์›์‹ ์ฒญํŽ˜์ด์ง€

  • ๋กœ๊ทธ์ธํ•œ ์œ ์ €๋งŒ ์‹ ์ฒญ์„œ ์ž‘์„ฑ ๊ฐ€๋Šฅ
  • ํผ ๋ฏธ์™„์„ฑ ์‹œ ์•ˆ๋‚ด ํŒ์—…
  • ํผ์ž‘์„ฑ ํ›„ ๋ฐ์ดํ„ฐ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ (์‚ญ์ œ๊ฐ€๋Šฅ)
  • ์ž‘์„ฑ๋œ ๋ฐ์ดํ„ฐ ํฌ์ผ“๋ฒ ์ด์Šค๋กœ ์ „์†ก

8. ํŒ€์› ํšŒ๊ณ 

  • ์ •์„œ๋ฆฐ : ํ”„๋กœ์ ํŠธ ์ „๋‚ ๊นŒ์ง€๋„ ๋ถˆ์•ˆํ•ด์„œ ์ž ์„ ๋ชป์žค๋˜๊ฑฐ ๊ฐ™์•„์š”. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ๋„ ๋‚˜๋ˆ„๊ณ  ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ์ˆ˜์—…๋•Œ๋Š” ์ดํ•ด ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ดํ•ด ๋˜๋Š” ์ˆœ๊ฐ„์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    ๋•Œ๋ฌธ์— ๋ฟŒ๋“ฏํ•œ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์— ์ƒˆ๋กœ ๋งŒ๋‚  ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๊ธฐ์–ต์ด ๋  ์›๋™๋ ฅ์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • ๊ฐ•ํƒœ์šฑ : ์ปดํฌ๋„ŒํŠธํ™”๊ฐ€ ์—„์ฒญ ์ค‘์š”ํ•˜๋‹ค๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๋ฌธ์„œํ™”๋„ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ธฐํš๊ณผ ๋””์ž์ธ ๊ฐœ๋ฐœ ๋ฐœํ‘œ๊นŒ์ง€ ๋ชจ๋“ ๊ฒƒ์„ ํ•˜๋А๋ผ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ–ˆ์ง€๋งŒ, ๊ทธ๋งŒํผ ์ „์ฒด๋ฅผ ๋ณด๋Š” ์•ˆ๋ชฉ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์ธ ๋ฆฌํŒฉํ† ๋ง์„ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์—ฌ์„œ์œค : ๊ธฐํš๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ํŒ€์›๊ณผ์˜ ์†Œํ†ต์„ ํ†ตํ•˜์—ฌ ๋ฆฌ์•กํŠธ์˜ ๊ธฐ๋Šฅ๊ณผ ์ž‘๋™ ์›๋ฆฌ์— ๋Œ€ํ•ด ๋”์šฑ ์•Œ๊ฒŒ ๋˜๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.
    ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์ „์—๋Š” ๊ฑฑ์ •์ด ๋งŽ์•˜์ง€๋งŒ ํŒ€์›๋“ค ๋•๋ถ„์— ๋ฌด์‚ฌํžˆ ๋๋‚ผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ํ”„๋กœ์ ํŠธ ์ „๊ณผ ๋น„๊ตํ–ˆ์„๋•Œ ๋งŽ์ด ์„ฑ์žฅํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์•„์ง์€ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™์•„ ์ถ”ํ›„์— ๋ณด์™„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
    ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ทธ๋™์•ˆ์˜ ํ•™์Šต์„ ๋Œ์•„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋‹ค์Œ์—” ๋” ๋งŽ์€ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ๋„์ „ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ์กฐํ˜„๋ˆ
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์˜ ๋ฏธํก(์ฑ„ํŒ…์˜ ๊ฒฝ์šฐ ์•Œ์ง€๋ฅผ ๋ชปํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์ž˜๋ชปํ–ˆ๋‹ค...)
    ๋””์ž์ธ ์‹œ์•ˆ์„ ์ฒ˜์Œ ๋งŒ๋“ค๋‹ค ๋ณด๋‹ˆ ๋งค์šฐ ๋ฏธํกํ–ˆ๋˜ ์ ๋“ค
    ๋„ˆ๋ฌด ๋งŽ์€ ๊ธฐ์ˆ ๋“ค์„ ํ•œ๋ฒˆ์— ์‹œ๋„ํ• ๋ ค๋‹ค ๋ณด๋‹ˆ ์™„์„ฑ๋„๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋–จ์–ด์กŒ๋‹ค...

About

๐Ÿฅ‡ ํ™˜๊ฒฝ์„ ์ƒ๊ฐํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ Dream 8 ์ž…๋‹ˆ๋‹ค! ๐Ÿฅ‡

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •