diff --git a/README.md b/README.md index 49c627e3..8881b941 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,75 @@ +
+ + ![header](https://capsule-render.vercel.app/api?type=waving&height=300&color=0075FF&text=Washfit&reversal=false&textBg=false&fontColor=EEEEEE) + +
+ # ๐Ÿš— ์•ˆ์ „ํ•œ ์„ธ์ฐจ์šฉํ’ˆ ์ •๋ณด ์ œ๊ณต ํ”Œ๋žซํผ ## ๐Ÿ”— ํ”„๋กœ์ ํŠธ ๋งํฌ -- [๋ฐฐํฌ URL](https://dev.washfit.site/) +- [์šด์˜ ์„œ๋ฒ„ URL](https://www.washfit.site/) +- [๊ฐœ๋ฐœ ์„œ๋ฒ„ URL](https://dev.washfit.site/) - [์Šคํ† ๋ฆฌ๋ถ URL](https://www.chromatic.com/library?appId=659a0cf1b613430cc09b3672) - [ํ”ผ๊ทธ๋งˆ URL](https://www.figma.com/file/B4wGiQ4M4k3mtcSyyK0ATf/washpedia?type=design&node-id=241-4547&mode=design&t=IuuBM2gGXeTFVTIW-0) - [๋…ธ์…˜ URL](https://www.notion.so/Wash-pedia-0d4a31ff248349b3a3ea202e048303d5)
-## ๐Ÿ“– ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ +## ๐Ÿ“– ๊ฐœ์š” -- Washpedia๋Š” ์ฐจ๋ฅผ ๊นจ๋—ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” "์„ธ์ฐจ ์šฉํ’ˆ"์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด์™€ ์œ ํ•ด์„ฑ ์œ ๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. -- ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์„ธ์ฐจ์šฉํ’ˆ์„ ์ถ”์ฒœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ์ฃผ๋ณ€์— ์„ธ์ฐจ์žฅ์ด ์–ด๋”” ์žˆ๋Š”์ง€, ์–ด๋–ค ํ›„๊ธฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -- ์„ธ์ฐจ ๊ด€๋ จ ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ์ถ”์ฒœ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”. +Washfit๋Š” ์ฐจ๋ฅผ ๊นจ๋—ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” "์„ธ์ฐจ ์šฉํ’ˆ"์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด์™€ ์œ ํ•ด์„ฑ ์œ ๋ฌด๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
+## ๐Ÿ”ฅ ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ + +**์ง€๋„** +- ์นด์นด์˜ค ์˜คํ”ˆ api์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ฃผ๋ณ€ ์„ธ์ฐจ์žฅ ์œ„์น˜์™€ ์„ธ์ฐจ์žฅ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ๋‚ด ์œ„์น˜๋กœ ์ด๋™ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ ‘์† ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**์ฆ๊ฒจ์ฐพ๊ธฐ** +- ์‚ฌ์šฉ์ž๊ฐ€ ์ฐœํ•œ ์„ธ์ฐจ ์šฉํ’ˆ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์กฐํšŒ์ˆœ / ํŠน์ด์‚ฌํ•ญ / ์ตœ์‹ ์ˆœ / ์ถ”์ฒœ์ˆœ์œผ๋กœ ์„ธ์ฐจ์šฉํ’ˆ๋“ค์„ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**ํ™ˆํŽ˜์ด์ง€** +- ๊ณต์ง€์‚ฌํ•ญ์„ ์Šฌ๋ผ์ด๋“œ๋กœ ์—ฐ์†ํ•ด์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ๋“ฑ๋กํ•œ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ํšŒ์›๋“ค์ด ๋งŽ์ด ์ฐœํ•œ ์„ธ์ฐจ ์šฉํ’ˆ์„ ์ถ”์ฒœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค +- ์กฐํšŒ์ˆœ / ํŠน์ด์‚ฌํ•ญ / ์ตœ์‹ ์ˆœ / ์ถ”์ฒœ์ˆœ์— ๋”ฐ๋ผ ์„ธ์ฐจ ์šฉํ’ˆ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**์ฑ„๋„** +- 10๋งŒ๋ช… ์ด์ƒ์˜ ๊ตฌ๋…์ž๋ฅผ ๋ณด์œ ํ•œ ์œ ๋ช… ์œ ํŠœ๋ฒ„ 5๋ช…์„ ์ถ”๋ ค ์ตœ์‹  ์„ธ์ฐจ ๊ด€๋ จ ์˜์ƒ์„ ์ถ”์ฒœ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**๊ฒ€์ƒ‰** +- 2000๊ฐœ ์ด์ƒ์˜ ์„ธ์ฐจ ์šฉํ’ˆ์„ ์กฐํšŒ์ˆœ / ํŠน์ด์‚ฌํ•ญ / ์ตœ์‹ ์ˆœ / ์ถ”์ฒœ์ˆœ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”. + +**์„ธ์ฐจ ์šฉํ’ˆ ์ƒ์„ธ ํŽ˜์ด์ง€** +- ์„ธ์ฐจ ์šฉํ’ˆ์˜ ์ด๋ฏธ์ง€์™€ ์ œํ’ˆ๋ช…, ๋ธŒ๋žœ๋“œ, ์—…์ฒด๋ช…, ์ œํ’ˆ์šฉ๋„, ์‘๊ธ‰์ฒ˜์น˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์‚ฌ์šฉ์ž๋“ค์˜ ์ง์ ‘์ ์ธ ๊ฒฝํ—˜์„ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”. +- ์ฐœ ๋ฒ„ํŠผ์„ ์ด์šฉํ•ด ๋‚˜๋งŒ์˜ ์„ธ์ฐจ ์šฉํ’ˆ์„ ์ฆ๊ฒจ์ฐพ๊ธฐ ํŽ˜์ด์ง€์— ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์นด์นด์˜ค ๊ณต์œ ํ•˜๊ธฐ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ํƒ€์ธ๊ณผ ์„ธ์ฐจ์šฉํ’ˆ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**์ธ์ฆ** +- ์•„์ด๋”” / ๋น„๋ฐ€๋ฒˆํ˜ธ / ์ด๋ฉ”์ผ / ์„ฑ๋ณ„ / ์—ฐ๋ น์ธต์„ ํ† ๋Œ€๋กœ ํšŒ์›๊ฐ€์ž… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ํšŒ์›๊ฐ€์ž…๋œ ํšŒ์› ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์นด์นด์˜ค ๊ณ„์ •์„ ์ด์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ์•„์ด๋””๋ฅผ ์žŠ์–ด๋ฒ„๋ ธ๋‹ค๋ฉด ๊ฐ€์ž…๋œ ์ด๋ฉ”์ผ์„ ํ†ตํ•ด ์•„์ด๋””๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žŠ์–ด๋ฒ„๋ ธ๋‹ค๋ฉด ๊ฐ€์ž…๋œ ์•„์ด๋””๋ฅผ ํ†ตํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +**๋งˆ์ดํŽ˜์ด์ง€** +- ๋‚ด ํ”„๋กœํ•„์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- 5๋‹จ๊ณ„์˜ ์ฐจ๋Ÿ‰ ์ •๋ณด์™€ 3๋‹จ๊ณ„์˜ ์„ธ์ฐจ ์šฉํ’ˆ์˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํšŒ์›๋“ค์ด ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์„ธ์ฐจ ์šฉํ’ˆ์„ ์ถ”์ฒœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ๋ฌธ์˜ํ•˜๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆํŽธํ–ˆ๋˜ ์ ์ด๋‚˜ ๊ฐœ์„ ํ•˜๊ณ ์‹ถ์€ ์‚ฌํ•ญ์„ ์ „๋‹ฌ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + ## ๐Ÿ•น๏ธ ๊ธฐ์ˆ ์  ์„ฑ์ทจ - ๋ฐฑ์—”๋“œ ํŒ€๊ณผ ๋น„๋™๊ธฐ์  ์†Œํ†ต ๋ฐ ํ˜‘์—… ๊ฒฝํ—˜ -- ๊ธฐํš๋ถ€ํ„ฐ ๋””์ž์ธ๊นŒ์ง€ ์ฐธ์—ฌํ•œ ๊ฒฝํ—˜ -- ci/cd ๋ฐฐํฌ,๋นŒ๋“œ,ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ• +- CI/CD ๋ฐฐํฌ,๋นŒ๋“œ,ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ• - storybook์„ ์ด์šฉํ•œ ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ๋ฐ vitest, msw๋ฅผ ์ด์šฉํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ +- ํ”„๋กœ์ ํŠธ ์„ค์ •๋ถ€ํ„ฐ ์‹ค์ œ ์šด์˜๊นŒ์ง€์˜ ๊ฒฝํ—˜ +- ๋กœ์ปฌ / ๊ฐœ๋ฐœ / ์šด์˜ ์„œ๋ฒ„๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์ž‘์—…ํ•œ ๊ฒฝํ—˜
@@ -63,6 +109,7 @@ ![Notion](https://img.shields.io/badge/notion-000000?style=for-the-badge&logo=notion&logoColor=white) ![Slack](https://img.shields.io/badge/slack-4A154B?style=for-the-badge&logo=slack&logoColor=white) ![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white) +![Postman](https://img.shields.io/badge/postman-FF6C37.svg?style=for-the-badge&logo=postman&logoColor=white) **๋ฒ„์ „ ๊ด€๋ฆฌ**
![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white) @@ -76,25 +123,30 @@ ![Swiper](https://img.shields.io/badge/swiper-6332F6?style=for-the-badge&logo=swiper&logoColor=white) **๋ฐฐํฌ**
+![AMAZON EC2](https://img.shields.io/badge/AMAZON_EC2-FF9900?style=for-the-badge&logo=amazonec2&logoColor=white) +![DOCKER](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white) ![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel&logoColor=white) ![Chromatic](https://img.shields.io/badge/chromatic-FC521F?style=for-the-badge&logo=chromatic&logoColor=white) **๊ทธ ์™ธ**
![Eslint](https://img.shields.io/badge/eslint-3A33D1?style=for-the-badge&logo=eslint&logoColor=white) +![Style_Lint](https://img.shields.io/badge/style_lint-263238?style=for-the-badge&logo=stylelint&logoColor=white)
## ๐Ÿ‘ ์„ฑ๋Šฅ ์ตœ์ ํ™” +- ๋ฆฌํ”Œ๋กœ์šฐ์™€ ๋ฆฌํŽ˜์ธํŠธ ๊ณผ์ •์„ ์ƒ๋žตํ•˜๊ธฐ ์œ„ํ•ด transform ์†์„ฑ ์‚ฌ์šฉ +- throttling์„ ์ด์šฉํ•œ ๋ฌด๋ถ„๋ณ„ํ•œ ์Šคํฌ๋กค ์ด๋ฒคํŠธ ๋ฐฉ์ง€ - ์›น ํฐํŠธ ๋‹ค์šด๋กœ๋“œ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด woff2 ํ™•์žฅ์ž ์ถ”๊ฐ€ ๋ฐ 3์ดˆ ์ด์ƒ ํฐํŠธ๊ฐ€ ๋‹ค์šด๋กœ๋“œ ๋˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ, ๊ธฐ์กด ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก fallback ์„ค์ • - ํ•„์š”ํ•œ ์‹œ์ ์— ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋„๋ก lazy loading์„ ์ ์šฉ ๋ฐ layout shift๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ Next.js image ํƒœ๊ทธ ์ ์šฉ -- ๋ Œ๋”๋ง ์‹œ ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด useCallback, useMemo ์‚ฌ์šฉ +- ๋ Œ๋”๋ง ์‹œ ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด useCallback, useMemo, React.memo ์‚ฌ์šฉ - dynamic import๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ ํƒ€์ž„์ด ์•„๋‹Œ ๋Ÿฐํƒ€์ž„์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋žœ๋”๋ง ํ•˜๋„๋ก ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ… ์ ์šฉ - react-hook-form์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋žœ๋”๋ง ๋ฐฉ์ง€ ๋ฐ ๋งˆ์šดํŒ… ์†๋„ ์ฆ๊ฐ€ - ๋ถˆํ•„์š”ํ•œ api ์š”์ฒญ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด tanstack-query๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์บ์‹ฑ
-## โœˆ๏ธ ์ง„ํ–‰ ์‚ฌํ•ญ +## โœˆ๏ธ ์ž‘์—… ๋‚ด์šฉ - ์ดˆ๊ธฐ ํ™˜๊ฒฝ ์„ค์ • - ๋ฆฐํŠธ ๋ฐ ์Šคํƒ€์ผ ๋ฆฐํŠธ ์„ค์ • - tanstack-query ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ ์ œ์ž‘ @@ -104,24 +156,18 @@ - msw ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ ์ œ์ž‘ - pretandard ํฐํŠธ ์„ค์ • - ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ ์ œ์ž‘ - - ci / cd workflow ์ž‘์„ฑ - - vercel ๋ฐฐํฌ -- 20๊ฐœ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘ - - [์Šคํ† ๋ฆฌ๋ถ URL](https://www.chromatic.com/library?appId=659a0cf1b613430cc09b3672) <- ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! +- ํ…Œ์ŠคํŠธ + - 25๊ฐœ ์ด์ƒ์˜ ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘๊ณผ storybook์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ๋ฐ chromatic ๋ฐฐํฌ + - vitest๋ฅผ ์ด์šฉํ•œ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋กœ์ง ์•ˆ์ •์„ฑ ํ–ฅ์ƒ ๋ฐ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฐœ์„  + - ๋ฐฑ์—”๋“œ์˜ api ์ œ์ž‘ ๊ธฐ๊ฐ„์ด ๊ธธ์–ด์ง์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ ์˜์กด์„ฑ์„ ๋ฐฐ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก msw๋ฅผ ์ด์šฉํ•œ mocking ์ž‘์—… + +- ๋ฐฐํฌ ํ™˜๊ฒฝ + - CI/CD ๋ฐฐํฌ,๋นŒ๋“œ ,ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ• + - vercel๊ณผ vultr์„ ์ด์šฉํ•œ ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋ฐฐํฌ + - docker container์™€ amazon ec2๋ฅผ ์ด์šฉํ•œ ์šด์˜ ์„œ๋ฒ„ ๋ฐฐํฌ + -- ํŽ˜์ด์ง€ <- ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ๋ด์ฃผ์„ธ์š”! - - ๋ฉ”์ธ ํŽ˜์ด์ง€ UI ์ œ์ž‘ [ํ™ˆ ํŽ˜์ด์ง€](https://f1-wash-pedia-fe.vercel.app) - - ํšŒ์› ๊ฐ€์ž… ํŽ˜์ด์ง€ UI ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ [ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€](https://f1-wash-pedia-fe.vercel.app/signup) - - ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ UI ์ œ์ž‘ [๋กœ๊ทธ์ธ ํŽ˜์ด์ง€](https://f1-wash-pedia-fe.vercel.app/login) - -## ๐Ÿ–๏ธ ์งˆ๋ฌธ ์‚ฌํ•ญ -1. ์Šคํ† ๋ฆฌ๋ถ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋‹จ์ˆœํžˆ props๋งŒ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋ณ€๊ฒฝ๋œ UI๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ…Œ์ŠคํŒ…์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ํ˜„์—…์—์„  ์–ด๋–ค ์‹์œผ๋กœ ์Šคํ† ๋ฆฌ๋ถ์„ ์‚ฌ์šฉํ•˜๋‚˜์š”? -2. next.js์—์„œ private router ๊ตฌํ˜„ํ•˜๋ ค๋ฉด HOC๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์‹ธ ์œ ์ €๊ฐ€ ๊ฐ€์ง„ token์„ ์ด์šฉํ•˜์—ฌ ์œ ํšจํ•œ ํšŒ์›์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ๋กœ์ง ์ผ๋ฐ˜์ ์ธ๊ฐ€์š”? ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด -์–ด๋–ค ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ์ข‹์„๊นŒ์š”? -3. swiper.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์บ๋Ÿฌ์…€์„ ์ œ์ž‘ํ–ˆ๋Š”๋ฐ ์ดˆ๊ธฐ ๋žœ๋”๋ง ์‹œ layout shift๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์–ด์š”. ์ด ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ์š”? - - diff --git a/src/app/(my-page)/my-page/profile/page.tsx b/src/app/(my-page)/my-page/profile/page.tsx index b162dcb7..2dc134d9 100644 --- a/src/app/(my-page)/my-page/profile/page.tsx +++ b/src/app/(my-page)/my-page/profile/page.tsx @@ -35,8 +35,8 @@ function ProfilePage() { return { id: profile?.value.id, email: profile?.value.email, - gender: profile?.value.gender === 'OTHERS' ? 'DEFAULT' : profile?.value.gender, - age: profile?.value.age === 'AGE_99' ? 'DEFAULT' : profile?.value.age, + gender: profile?.value.gender === 'OTHERS' ? 'MALE' : profile?.value.gender, + age: profile?.value.age === 'AGE_99' ? 'AGE_20' : profile?.value.age, }; }, [profile]), mode: 'onBlur', @@ -53,8 +53,8 @@ function ProfilePage() { reset({ id: profile?.value.id, email: profile?.value.email, - gender: profile?.value.gender === 'OTHERS' ? 'DEFAULT' : profile?.value.gender, - age: profile?.value.age === 'AGE_99' ? 'DEFAULT' : profile?.value.age, + gender: profile?.value.gender === 'OTHERS' ? 'MALE' : profile?.value.gender, + age: profile?.value.age === 'AGE_99' ? 'AGE_20' : profile?.value.age, }); }, [profile, reset]); diff --git a/src/constants/dropdownMap.ts b/src/constants/dropdownMap.ts index f2481499..91d7b24f 100644 --- a/src/constants/dropdownMap.ts +++ b/src/constants/dropdownMap.ts @@ -1,7 +1,6 @@ export const GENDER_MAP = { MALE: '๋‚จ์„ฑ', FEMALE: '์—ฌ์„ฑ', - DEFAULT: '์ˆ˜์ • ํ•„์š”', } as const; export const AGE_MAP = { @@ -10,7 +9,6 @@ export const AGE_MAP = { AGE_40: '40๋Œ€', AGE_50: '50๋Œ€', AGE_60: '60๋Œ€ ์ด์ƒ', - DEFAULT: '์ˆ˜์ • ํ•„์š”', } as const; export type GenderType = keyof typeof GENDER_MAP; diff --git a/src/constants/myPage.ts b/src/constants/myPage.ts index ebba4219..7ae36007 100644 --- a/src/constants/myPage.ts +++ b/src/constants/myPage.ts @@ -7,10 +7,6 @@ export const GENDER_OPTIONS = [ label: '์—ฌ์„ฑ', value: 'FEMALE', }, - { - label: '์ˆ˜์ • ํ•„์š”', - value: 'DEFAULT', - }, ]; export const AGE_OPTIONS = [ @@ -33,8 +29,4 @@ export const AGE_OPTIONS = [ label: '60๋Œ€ ์ด์ƒ', value: 'AGE_60', }, - { - label: '์ˆ˜์ • ํ•„์š”', - value: 'DEFAULT', - }, ];