Skip to content

๐Ÿ–ฅ React19(Vite)๋กœ ๋งŒ๋“  ์›น ํ”„๋ก ํŠธ์•ค๋“œ ํฌํŠธํด๋ฆฌ์˜ค

Notifications You must be signed in to change notification settings

sukyoungshin/subway-renewal-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

Subway-renewal-mobile

ํฌํŠธํด๋ฆฌ์˜ค์šฉ ์จ๋ธŒ์›จ์ด ์›น์•ฑ ๋ฆฌ๋‰ด์–ผ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

  • ์ธ์›: ๊ฐœ์ธํ”„๋กœ์ ํŠธ(1์ธ)
  • ์—ญํ• : ๊ธฐํšยท๋””์ž์ธยทํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ์ „๋ฐ˜ ๋‹ด๋‹น

๋งํฌ

Figma ๋””์ž์ธ ยท ๊นƒํ—™๋ ˆํฌ ยท ๋ฐฐํฌ ๋งํฌ

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

1.๋ฆฌํŒฉํ„ฐ๋ง ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™” (2025.08)

[ ๊ธฐ์ˆ ์Šคํƒ ] React, React-Router, Redux, TailwindCSS, TypeScript

[ ์ฃผ์š”์ž‘์—… ]

๊ธฐ์ˆ ์Šคํƒ ๊ฐœ์„ 

  • CRA -> Vite์ „ํ™˜: CRA์˜ ๋А๋ฆฐ ๋นŒ๋“œ์†๋„์™€ ์ง€์› ์ค‘๋‹จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Vite๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, CRA ํ”„๋กœ์ ํŠธ ๋Œ€๋น„ ๋นŒ๋“œ ์†๋„ 36.7% ๋‹จ์ถ•(7.9sโ†’5.0s). - ๋˜ํ•œ, ๋น ๋ฅธ HMR ์†๋„์™€ ์„ค์ • ๋‹จ์ˆœํ™”๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์ด ๊ฐœ์„ ๋จ
  • TailwindCSS ๋„์ž…: Styled-Components์˜ SSR ๋Œ€์‘ ์ด์Šˆ์™€ ๊ธฐ๋Šฅ ํ•œ๊ณ„๋ฅผ ํ•ด์†Œํ•˜๊ณ , npm trends์— ๊ทผ๊ฑฐํ•˜์—ฌ ํ™œ๋ฐœํ•œ ์ƒํƒœ๊ณ„๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ „ํ™˜

์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ์ธก์ • ๋ฐ ์ตœ์ ํ™”

  • Google Lighthouse์™€ Rollup-Plugin-Visualizer ๋ถ„์„์„ ํ†ตํ•ด, ํผํฌ๋จผ์Šค์˜ ์„ฑ๋Šฅ ์ €ํ•˜ ์›์ธ์„ ํŒŒ์•…
  • Terser ๋„์ž…์œผ๋กœ ๋ฐ๋“œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , Lazy Loading ์ ์šฉ์œผ๋กœ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐœ์„ ์„ ์ง„ํ–‰
  • ์ด ๊ณผ์ •์—์„œ SEO ์ ์ˆ˜๊ฐ€ ๋–จ์–ด์ ธ ๊ฒ€์ƒ‰์—”์ง„ ๋…ธ์ถœ์— ๋ถˆ๋ฆฌํ•ด์ ธ์„œ SSR(์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง) ๋ฐฉ์‹์„ ๋„์ž… โ†’ ์ตœ์ข…์ ์œผ๋กœ ํผํฌ๋จผ์Šค 100์  ๋ฐ SEO 92์  ๋‹ฌ์„ฑ
  • ์ด๋ฏธ์ง€ ๋ฆฌ์†Œ์Šค๋Š” S3 + CloudFront๋กœ ์ œ๊ณตํ•˜์—ฌ ์ „์†ก ์†๋„๋ฅผ ์ตœ์ ํ™”

์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ

  • TypeScript ๋„์ž…: Mock ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ถˆ์ผ์น˜ ๋ฐ ๋กœ์ง ์˜ค๋ฅ˜๋ฅผ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌ โ†’ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ
  • FSD ๊ตฌ์กฐ ์ ์šฉ: pagesยทfeaturesยทshared ๋‹จ์œ„ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌํ•˜์—ฌ, ๊ธฐ๋Šฅ ํ™•์žฅ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด์„ฑ ํ™•๋ณด
  • GitHub Actions ์ž๋™ํ™”: PR ๋ณ‘ํ•ฉ ์ „ ESLintยทPrettier ์ž๋™ ๊ฒ€์‚ฌ โ†’ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ๋ฐ ํ’ˆ์งˆ ์œ ์ง€

๋ฐฐํฌ ๋ฐ ์šด์˜ ํ™˜๊ฒฝ ๊ฐœ์„ 

  • ๋ฐฐํฌ ํ™˜๊ฒฝ ์ „ํ™˜ (Vercel โ†’ AWS EC2): SSR ํ”„๋กœ์ ํŠธ๋ฅผ Vercel์—์„œ ์šด์˜ํ•˜๋‹ค๊ฐ€, ์‹ค๋ฌด ์šด์˜ ํ™˜๊ฒฝ๊ณผ ์œ ์‚ฌํ•œ ๊ฒฝํ—˜์„ ์Œ“๊ธฐ ์œ„ํ•ด EC2 ๊ธฐ๋ฐ˜ ๋ฐฐํฌ๋กœ ์ด์ „
  • ๋„๋ฉ”์ธ ๊ตฌ๋งค, DNS ์„ค์ •, SSL ์ธ์ฆ ์ ์šฉ ๋“ฑ ๋ฐฐํฌ ๊ณผ์ •์„ ์ง์ ‘ ๊ฒฝํ—˜ํ•˜๋ฉฐ ์šด์˜ ํ™˜๊ฒฝ์— ๊ฐ€๊นŒ์šด ๋ฐฐํฌ ๊ณผ์ •์„ ํ•™์Šต

2. ์„œ๋น„์Šค ๊ธฐํš ๋ฐ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ (2021.11 ~ 2022.02)

[ ๊ธฐ์ˆ ์Šคํƒ ] React, React-Router, Redux, Styled-Components, JavaScript

[ ๋งํฌ ]

[ ์ฃผ์š”์ž‘์—… ]

์ฃผ์š” ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ์ฃผ๋ฌธ ํŽ˜์ด์ง€: ์นด์นด์˜ค๋งต API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„์— ๋งค์žฅ ์ฐพ๊ธฐ ๋ฐ ์ •๋ณด ํ‘œ์‹œ
  • ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€: ์ด๋ฉ”์ผ, ๊ตฌ๊ธ€, ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ OAuth ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ: Redux๋ฅผ ํ™œ์šฉํ•œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ ๋กœ๊ทธ์ธ ์ƒํƒœ ๊ด€๋ฆฌ

์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ์ธก์ • ๋ฐ ์ตœ์ ํ™” ๊ฒฝํ—˜

  • Google Lighthouse ๋ถ„์„์„ ํ†ตํ•ด ์„ฑ๋Šฅ ์ €ํ•˜ ์›์ธ์„ ํŒŒ์•…ํ•˜์—ฌ, ๋กœ๋”ฉ ์ง€์—ฐ ์‹œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋Œ€๊ธฐ ์ƒํ™ฉ์„ ์•ˆ๋‚ดํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ๋ฅผ ๋„์ž…
  • ๋˜ํ•œ, png ์ด๋ฏธ์ง€๋ฅผ webp ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, ๊ทผ๋ณธ์ ์ธ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์†๋„ ๊ฐ์†Œ
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ ํผํฌ๋จผ์Šค ์ ์ˆ˜ ๊ฐœ์„  (80์  โ†’ 90์ )

์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ๊ฐœ์„ 

  • ๊ธฐํš/๋””์ž์ธ: Figma ๊ธฐ๋ฐ˜์œผ๋กœ ํ™”๋ฉด ๊ธฐํš ๋ฐ UI ๋””์ž์ธ ์ง„ํ–‰
  • ๊ตฌ๋งค ํ”Œ๋กœ์šฐ ๋‹จ์ˆœํ™”: ์ œํ’ˆ ์˜ต์…˜ ์„ ํƒ ๋‹จ๊ณ„ ์ถ•์†Œ โ†’ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ์˜ต์…˜ ์ œ๊ณต (๋ชจ๋“  ์˜ต์…˜์„ ํ•œ ํ™”๋ฉด์—์„œ ์„ ํƒ ๊ฐ€๋Šฅ)
  • ๋ฒ„ํŠผ ์ƒํƒœ ๊ฐ€์‹œํ™”: ์ฃผ๋ฌธ ํŽ˜์ด์ง€ ํ•˜๋‹จ ๋ฒ„ํŠผ์„ ์ƒ‰์ƒ์œผ๋กœ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ์ƒํƒœ ํ‘œ์‹œ

์„ค์น˜ ๋ฐ ์‹คํ–‰

yarn install

๋กœ์ปฌ ์‹คํ–‰ ์‹œ .env.local ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์นด์นด์˜ค๋งต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ API Key๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (.env.sample ์ฐธ๊ณ )

About

๐Ÿ–ฅ React19(Vite)๋กœ ๋งŒ๋“  ์›น ํ”„๋ก ํŠธ์•ค๋“œ ํฌํŠธํด๋ฆฌ์˜ค

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published