diff --git a/README.md b/README.md index 70a5d35..b334695 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,11 @@ # ๐Ÿงž ์•Œ๋ฆฌ ์ต์Šคํ”„๋ ˆ์Šค ๐Ÿงž +### ๋งํฌ: (https://35-collaboration-web-aliexpress.vercel.app/)
-![ํ‘œ์ง€](https://github.com/user-attachments/assets/cd9ddfad-d39c-402d-8d87-b29764bede56) +![ํ‘œ์ง€](https://github.com/user-attachments/assets/7f9546e9-35b4-45ff-a7cb-b5eeec8c2bf6) @@ -27,9 +28,45 @@
+## ๐Ÿ‘ฅ ์—ญํ•  ๋ถ„๋‹ด + +### `๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ์„ฑํฌ` + +| ์ข…๋ฅ˜ | ๋ชฉ๋ก | +| :--------: | ----------------------------------------------------------------------------------------------- | +| setting โš™๏ธ | `๋ฆฌ์•กํŠธ ์ดˆ๊ธฐ ์„ค์ •` `์ ˆ๋Œ€๊ฒฝ๋กœ` `vercel ๋ฐฐํฌ` | +| view ๐Ÿ“ฑ | `์ƒํ’ˆ ๊ตฌ๋งค ํŽ˜์ด์ง€` | +| api ๐Ÿ“ก | `์ƒํ’ˆ ์ •๋ณด ์กฐํšŒ(GET)` `์ฃผ๋ฌธ ์™„๋ฃŒ(POST)` | + +### `๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ํƒœ์šฑ` + +| ์ข…๋ฅ˜ | ๋ชฉ๋ก | +| :--------: | -------------------- | +| setting โš™๏ธ | `Github template` `eslint` `icon svgr` | +| view ๐Ÿ“ฑ | `์ฃผ๋ฌธ์ƒ์„ธ ํŽ˜์ด์ง€` | +| api ๐Ÿ“ก | `์ฃผ๋ฌธ๋‚ด์—ญ ์กฐํšŒ(GET)` | + +### `๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ์˜๊ฒฝ` + +| ์ข…๋ฅ˜ | ๋ชฉ๋ก | +| :--------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| setting โš™๏ธ | `stylelint` `theme` | +| view ๐Ÿ“ฑ | `์ƒํ’ˆ ์ปดํฌ๋„ŒํŠธ, ์ƒํ’ˆ ๊ตฌ๋งค ํŽ˜์ด์ง€` | +| api ๐Ÿ“ก | `์—ฐ๊ด€ ์ƒํ’ˆ ์กฐํšŒ(GET)` | + +### `๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ์˜ˆ๋ฆผ` + +| ์ข…๋ฅ˜ | ๋ชฉ๋ก | +| :--------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| setting โš™๏ธ | `์ ˆ๋Œ€๊ฒฝ๋กœ` `prettier` | +| view ๐Ÿ“ฑ | `๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ(์ƒ๋‹จ Header 2์ข…๋ฅ˜, Footer)` `์ƒํ’ˆ ๊ตฌ๋งค ํŽ˜์ด์ง€` | +| api ๐Ÿ“ก | `๋ฆฌ๋ทฐ ์กฐํšŒ(GET)` | + +
+

๐Ÿ›  ๊ธฐ์ˆ ์Šคํƒ

-
+
| ์—ญํ•  | ์ข…๋ฅ˜ | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -37,10 +74,150 @@ | Programming Language | ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=TypeScript&logoColor=white) | | Styling | ![Emotion](https://img.shields.io/badge/Emotion-DB7093?style=for-the-badge&logo=emotion&logoColor=white) | | Data Fetching | ![Axios](https://img.shields.io/badge/Axios-5A29E4?style=for-the-badge&logo=Axios&logoColor=white) ![TanStack Query](https://img.shields.io/badge/TanStack%20Query-FF4154?style=for-the-badge&logo=React%20Query&logoColor=white) | | -| Formatting | ![ESLint](https://img.shields.io/badge/ESLint-4B3263?style=for-the-badge&logo=eslint&logoColor=white) ![Prettier](https://img.shields.io/badge/prettier-1A2C34?style=for-the-badge&logo=prettier&logoColor=F7BA3E) | +| Formatting | ![ESLint](https://img.shields.io/badge/ESLint-4B3263?style=for-the-badge&logo=eslint&logoColor=white) ![Prettier](https://img.shields.io/badge/prettier-1A2C34?style=for-the-badge&logo=prettier&logoColor=F7BA3E) ![Stylelint](https://img.shields.io/badge/stylelint-000?style=for-the-badge&logo=stylelint&logoColor=white) | | Package Manager | ![Yarn](https://img.shields.io/badge/Yarn-2C8EBB?style=for-the-badge&logo=yarn&logoColor=white) | | Version Control | ![Git](https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white) ![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white) | | Deployment | ![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel&logoColor=white) |
+ +
+ +## ๐ŸŒณ ๊ตฌํ˜„ View +### ๐ŸŒฟ ์ƒํ’ˆ๊ตฌ๋งค View +KakaoTalk_20241130_004952323 + +### ๐ŸŒฟ ์ฃผ๋ฌธ์ƒ์„ธ View +![FireShot Capture 002 - AliExpress Korea - AND SOPT 35 - localhost](https://github.com/user-attachments/assets/fd11e1e0-f4f9-43ba-b050-e31964d88058) + +
+ +## [๐Ÿ“š ์ปจ๋ฒค์…˜](https://unnamedwritings.notion.site/4428b3ba2d4b48f4b5e9e0c1eac53535?pvs=4) + +
+ 1๏ธโƒฃ Commit ์ปจ๋ฒค์…˜ + +### commit ๊ทœ์น™ + +**ํ‚ค์›Œ๋“œ: ๋‚ด์šฉ** + +- **์˜ˆ์‹œ:** + - `init: ์ดˆ๊ธฐ ์„ธํŒ…` + - `feat: ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ` + +
+ +**Commit ๋ฉ”์‹œ์ง€ ์ข…๋ฅ˜ ์„ค๋ช…** + + +| ์ œ๋ชฉ | ๋‚ด์šฉ | +| ------------ | -------------------------------------------------------------------- | +| feat | ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ | +| style | ์ฝ”๋“œ formatting, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ž์ฒด์˜ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ | +| fix | ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ | +| refactor | ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง | +| docs | ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ | +| chore | ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •, ๊ทธ ์™ธ ๊ธฐํƒ€ ์ˆ˜์ • ex) .gitignore | +| design | CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ | +| comment | ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ | +| rename | ํŒŒ์ผ ๋˜๋Š” ํด๋” ๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ | +| remove | ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ | +| !BREAKING CHANGE | ์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ | +| !HOTFIX | ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ | + +
+ + +
+ 2๏ธโƒฃ Branch ์ „๋žต + +### ๋ธŒ๋žœ์น˜ ์ „๋žต + +`feat/#์ด์Šˆ๋ฒˆํ˜ธ/์ด์Šˆ์ด๋ฆ„` + +### Git Branch + +- **GitHub-Flow** ์ „๋žต + **develop** +- ๋ธŒ๋žœ์น˜ ์šด์˜ + - `feat/#์ด์Šˆ๋ฒˆํ˜ธ/์ด์Šˆ์ด๋ฆ„` (์ผ€๋ฐฅ ์ผ€์ด์Šค): ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๊ฐ์ž๊ฐ€ ์‚ฌ์šฉํ•œ ๋ธŒ๋žœ์น˜ + - `main`: ์™„์ „ํžˆ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜์—ˆ์„ ๋•Œ, ์ฆ‰ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ตœ์ข… mergeํ•˜๋Š” ๋ธŒ๋žœ์น˜ + - `develop`: ๋ฐฐํฌํ•˜๊ธฐ ์ „ ๊ฐœ๋ฐœ ์ค‘์ผ ๋•Œ ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜์—์„œ mergeํ•˜๋Š” ๋ธŒ๋žœ์น˜ (default ๋ธŒ๋žœ์น˜) + - `feat/#์ด์Šˆ๋ฒˆํ˜ธ/๊ธฐ๋Šฅ๋ช…`: feature ๋ธŒ๋žœ์น˜. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ. ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ + - `fix/#์ด์Šˆ๋ฒˆํ˜ธ/๊ธฐ๋Šฅ๋ช…`: feature ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ํ›„ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜ + - PR ๋จธ์ง€ ํ›„ ํ†ก๋ฐฉ ๋ฉ”์„ธ์ง€ ๋ณด๋‚ด๊ธฐ + - approve 2๋ช… ์ด์ƒ ๋ฐ›์•„์•ผ ๋จธ์ง€ ๊ฐ€ + +
+ +
+ 3๏ธโƒฃ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜ +
+ +1. **rafce ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ์ปดํฌ๋„ŒํŠธ, ํ•จ์ˆ˜ ๋‹ค ์“ฐ๊ธฐ** +2. **๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜** + - ๋ณ€์ˆ˜ ํ•จ์ˆ˜๋Š” ์†Œ๋ฌธ์ž ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ์„ ์–ธ + - ๋ฐฐ์—ด์€ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์„ ์–ธ + - ์ƒ์ˆ˜๋Š” ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋ฅผ ํ™œ์šฉํ•ด ๋Œ€๋ฌธ์ž์™€ _ ๋ฅผ ์‚ฌ์šฉํ•ด ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. +3. **React & TypeScript** + - ์ปดํฌ๋„ŒํŠธ๋Š” ํ•ญ์ƒ ํŒŒ์Šค์นผ ์ผ€์ด์Šค๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: SmallBanner) + - Inline Style ์„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + - ์Šคํƒ€์ผ ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜๋‹จ์— ์ž‘์„ฑ + - any ์‚ฌ์šฉ๊ธˆ์ง€ +4. **Styling** + - Emotion ์˜ css ๋ฅผ ์„ ์–ธ ์‹œ ์‹๋ณ„์ž ๋ช…์€ ๋ณ€์ˆ˜์˜ ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. + - css ๋ฅผ ์‚ฌ์šฉํ•  ๋• ๊ฐ€๊ธ‰์  object ๊ฐ€ ์•„๋‹Œ template string ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. + - Emotion ์˜ styled ๋ฅผ ํ™œ์šฉํ•ด ์Šคํƒ€์ผ๋ง์„ ํ•  ๋•Œ ๋ณ€์ˆ˜๋ช…์€ ์ปดํฌ๋„ŒํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŒŒ์Šค์นผ ์ผ€์ด์Šค๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. + - interface ์„ ์–ธ : ์ปดํฌ๋„ŒํŠธ๋ช…+props + - ๊ธฐ๋ณธ์ ์œผ๋กœ rem ์‚ฌ์šฉ, border, border-radius : px + +5. **Function** + - ํ•จ์ˆ˜์˜ ์‹๋ณ„์ž๋ช…์€ ํ•ญ์ƒ ์‹œ๋ฉ˜ํ‹ฑํ•˜๊ฒŒ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. (์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜์ธ์ง€ ํ•จ์ˆ˜๋ช…์„ ๋ณด๊ณ  ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.) + - ์ด๋ฒคํŠธ๋ฅผ ํ•ธ๋“ค๋ง ํ•˜๋Š” ํ•จ์ˆ˜๋Š” handle ์ ‘๋‘์‚ฌ๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. + - ๋ฐ˜ํ™˜๊ฐ’์ด boolean ์ธ ํ•จ์ˆ˜๋Š” is ์ ‘๋‘์‚ฌ๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ, ์–ด๋–ค ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜๋Š” get ์ ‘๋‘์‚ฌ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. + - ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜ ํ‘œํ˜„์‹๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค + +
+ +
+ +
+ +

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

+ +``` +|-- ๐Ÿ“ .github +|-- ๐Ÿ“ .husky +|-- ๐Ÿ“ node_modules +|-- ๐Ÿ“ public +|-- ๐Ÿ“ src + |-- ๐Ÿ“ apis + |-- ๐Ÿ“ assets + |-- ๐Ÿ“ components + |-- ๐Ÿ“ constants + |-- ๐Ÿ“ layout + |-- ๐Ÿ“ pages + |-- ๐Ÿ“ route + |-- ๐Ÿ“ styles + |-- ๐Ÿ“ types + |-- App.tsx + |-- main.tsx + |-- queryClient.ts + |-- svg.d.ts + |-- vite-env.d.ts +|-- .env +|-- .eslintrc.json +|-- .gitignore +|-- .prettierrc +|-- .stylelintignore +|-- .stylelintrc.json +|-- index.html +|-- package.json +|-- README.md +|-- tsconfig.app.json +|-- tsconfig.json +|-- tsconfig.node.json +|-- vercel.json +|-- vite.config.ts +|-- yarn.lock +```