๐Ÿš€ Nike ์›น์‚ฌ์ดํŠธ ํด๋ก  | React + TypeScript + Tailwind CSS

๋ฐœํ–‰: (2026๋…„ 1์›” 2์ผ ์˜ค์ „ 11:30 GMT+9)
3 ๋ถ„ ์†Œ์š”
์›๋ฌธ: Dev.to

Source: Dev.to

Nike ์›น์‚ฌ์ดํŠธ ํด๋ก ์„ ์œ„ํ•œ ์ปค๋ฒ„ ์ด๋ฏธ์ง€ ๐Ÿš€ | React + TypeScript + Tailwind CSS

๊ฐœ์š”

์ธ๊ธฐ ๋ธŒ๋žœ๋“œ์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณต์ œํ•˜๋ฉด UI ์Šคํ‚ฌ, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์ดํ•ด, ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐํ™”๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ก  ํ”„๋กœ์ ํŠธ๋Š” ์ „๋ฌธ์ ์ธ ๋žœ๋”ฉ ํŽ˜์ด์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ•๋˜๋Š”์ง€ ๋ฐฐ์šฐ๋Š” ์‹ค์šฉ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Nike Website Clone์€ React, TypeScript, Tailwind CSS๋กœ ๊ตฌ์ถ•๋œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ๋กœ, Nike ๊ณต์‹ ์‚ฌ์ดํŠธ์˜ ๋ ˆ์ด์•„์›ƒ๊ณผ ์ธํ„ฐ๋ž™์…˜์„ ๊ทธ๋Œ€๋กœ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ ๋กœ ํ”ฝ์…€ ๋‹จ์œ„์˜ ์™„๋ฒฝํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์‹ค์ „ ์—ฐ์Šต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • โœ… ๋ฐ˜์‘ํ˜• ๋””์ž์ธ โ€“ ๋ฐ์Šคํฌํ†ฑ, ํƒœ๋ธ”๋ฆฟ, ๋ชจ๋ฐ”์ผ ํ™”๋ฉด์—์„œ ๋ชจ๋‘ ํ›Œ๋ฅญํ•˜๊ฒŒ ํ‘œ์‹œ
  • โœ… ํ˜„๋Œ€์ ์ธ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜ โ€“ ๋ช…ํ™•ํ•œ React + TypeScript ๊ตฌ์กฐ
  • โœ… Tailwind CSS ์Šคํƒ€์ผ๋ง โ€“ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ ๋ฐ˜์‘ํ˜• UI
  • โœ… ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋„ค๋น„๊ฒŒ์ด์…˜ โ€“ ๋™์  ๋ฉ”๋‰ด์™€ ์Šฌ๋ผ์ด๋”
  • โœ… ์ œํ’ˆ ์ „์‹œ UI โ€“ ์‹ค์ œ์™€ ๊ฐ™์€ ์ œํ’ˆ ๋ฆฌ์ŠคํŠธ์™€ ํžˆ์–ด๋กœ ์„น์…˜
  • โœ… ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ๋ธ”๋ก โ€“ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ณ ๋ คํ•œ ์„ค๊ณ„

์‚ฌ์šฉ ๊ธฐ์ˆ  ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ๐Ÿ’ป React โ€“ ํ•ต์‹ฌ UI ํ”„๋ ˆ์ž„์›Œํฌ
  • ๐Ÿง  TypeScript โ€“ ๊ฐ•๋ ฅํ•œ ํƒ€์ž…๊ณผ ๊ฒฌ๊ณ ํ•œ ์ปดํฌ๋„ŒํŠธ
  • ๐ŸŽจ Tailwind CSS โ€“ ๋น ๋ฅด๊ณ  ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ CSS
  • ๐Ÿ“ฆ React Router โ€“ ํ™”๋ฉด ๊ฐ„ ๋„ค๋น„๊ฒŒ์ด์…˜ (์‚ฌ์šฉ ์‹œ)

ํ”„๋กœ์ ํŠธ ๋ชฉ์ 

์ด ํด๋ก  ํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ „ UI ๊ตฌ์„ฑ, ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ํŒจํ„ด, ์ปดํฌ๋„ŒํŠธ ์žฌ์‚ฌ์šฉ์„ ๋ฐฐ์šฐ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ํฌํŠธํด๋ฆฌ์˜ค์— ํ™œ์šฉํ•˜๊ธฐ ์ข‹์œผ๋ฉฐ ํ”„๋ก ํŠธ์—”๋“œ ์žฅ์ธ ์ •์‹ ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์ตœ์ ์ž…๋‹ˆ๋‹ค.

GitHub ๋ฐ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ

๐Ÿ”— https://reactjsguru.com/repos/nike-website-clone-with-react-typescript-tailwind-css?utm_source=devto&utm_medium=social&utm_campaign=repo_post

Nike ์›น์‚ฌ์ดํŠธ ํด๋ก  ๋ฏธ๋ฆฌ๋ณด๊ธฐ

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

Grid Gaps Explained: ์™„๋ฒฝํ•œ ์›น ๋ ˆ์ด์•„์›ƒ์˜ ๋น„๋ฐ€

๊ทธ๋ฆฌ๋“œ ๊ฐญ: ๋ ˆ์ด์•„์›ƒ์ด ์—‰๋ง์ด ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋น„๋ฐ€ ๋ฌด๊ธฐ ์†”์งํžˆ ๋งํ•ด๋ณด์ž. ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ๊ทธ๋ฆฌ๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€โ€”๋ฉ‹์ง€๊ณ  ๊น”๋”ํ•œ CSS Gridโ€ฆ

์šฐ๋ฆฌ๋Š” TanStack Query์—์„œ ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ๊ณ„์† ๊นจ๋œจ๋ ธ๊ณ , ๊ทธ๋ž˜์„œ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

TanStack Query๋Š” ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์บ์‹œํ•˜๋Š” ๋ฐ ๋›ฐ์–ด๋‚˜์ง€๋งŒ, ์บ์‹œ ํ‚ค๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉด ์ผ๊ด€์„ฑ ๋ฌธ์ œ, ๋ถ„์‚ฐ๋œ ๋ฌดํšจํ™” ๋กœ์ง, โ€ฆ