|
1 | | -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). |
| 1 | +# Ground Rule |
| 2 | +## 기술 스택 |
2 | 3 |
|
3 | | -## Getting Started |
| 4 | +- 프레임워크: Next.js |
| 5 | +- 언어: TypeScript |
| 6 | +- 패키지 매니저: npm |
| 7 | +- CSS 프레임워크: styled-components |
| 8 | +- 전역상태관리: Recoil |
| 9 | +- 통신: Axios |
| 10 | +- 그외: Lint & Prettier |
4 | 11 |
|
5 | | -First, run the development server: |
| 12 | +<br/> |
6 | 13 |
|
7 | | -```bash |
8 | | -npm run dev |
9 | | -# or |
10 | | -yarn dev |
11 | | -# or |
12 | | -pnpm dev |
13 | | -# or |
14 | | -bun dev |
| 14 | +## 배포 |
| 15 | + |
| 16 | +- **Vercel** |
| 17 | + |
| 18 | +<br/> |
| 19 | + |
| 20 | +## 폴더 구조 |
| 21 | + |
| 22 | +``` |
| 23 | +src |
| 24 | + ├─ api |
| 25 | + ├─ app |
| 26 | + ├── 페이지별 디렉토리 |
| 27 | + ├── layout.tsx |
| 28 | + └── page.tsx |
| 29 | + ├─ components |
| 30 | + ├── common |
| 31 | + └── 페이지별 컴포넌트 |
| 32 | + ├─ constants |
| 33 | + ├─ hooks |
| 34 | + ├─ lib |
| 35 | + ├─ recoil |
| 36 | + ├─ styles |
| 37 | + ├─ types |
| 38 | + └─ utils |
| 39 | +``` |
| 40 | + |
| 41 | +<br/> |
| 42 | + |
| 43 | +## Git Conventions |
| 44 | + |
| 45 | +### Issue 생성 |
| 46 | + |
| 47 | +- **issue templete > 양식 맞추어 작성, Assignees 본인 선택, Labels 선택** |
| 48 | +- type: **대문자**로 시작 (ex. **F**eat, **D**esign, **C**hore 등) |
| 49 | +- 타입별로 이슈 템플릿 만들어두었으니 그렇게 이용하시면 좀 더 편할 거예요! |
| 50 | +- 내용 없으면 지우고, TODO에 상세 내용 다 작성하기 (세부적으로 할 일 모두 작성) |
| 51 | + |
| 52 | +  |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +- **Labels** |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | +<br/> |
| 61 | + |
| 62 | +### Branch 생성 |
| 63 | + |
| 64 | +- Issue 기반 브랜치 생성 후 작업 |
| 65 | + |
| 66 | + : 이슈 번호에 맞게 브랜치 생성하기 (develop 브랜치에서 새로 생성) |
| 67 | + |
| 68 | +- **브랜치명** |
| 69 | +: **type(#이슈번호)** |
| 70 | + - 브랜치명은 **소문자**로! |
| 71 | + ex) **f**eat(#12), **a**pi(#63) |
| 72 | + |
| 73 | +``` |
| 74 | +브랜치 생성 및 이동 |
| 75 | +git checkout -b 브랜치명 |
| 76 | +``` |
| 77 | + |
| 78 | +- 브랜치 종류 |
| 79 | + |
| 80 | + ### | **branch 종류** |
| 81 | + |
| 82 | + - `main`: 배포 브랜치 |
| 83 | + - `develop`: 개발 브랜치 |
| 84 | + - `type(#이슈번호)`: 세부 개발 브랜치 |
| 85 | + <br/> |
| 86 | + |
| 87 | + | type | 의미 | |
| 88 | + | --- | --- | |
| 89 | + | feat | 새로운 기능 추가 | |
| 90 | + | design | 사용자 UI 및 CSS 파일 추가 · 수정 | |
| 91 | + | chore | 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore | |
| 92 | + | fix | 버그 수정 | |
| 93 | + | style | 코드의 구조,형식 개선 (코드 formatting, 세미콜론 누락, 코드 자체의 변경이 없는 경우) | |
| 94 | + | docs | 문서 수정 | |
| 95 | + | refactor | 코드 리팩토링 | |
| 96 | + | test | 테스트 코드, 리팩토링 테스트 코드 추가 | |
| 97 | + | comment | comment 필요한 주석 추가 및 변경 | |
| 98 | + | file | 파일 또는 폴더명 수정, 이동, 삭제 등의 작업만 수행한 경우 | |
| 99 | + | !hotfix | 급하게 치명적인 버그를 고쳐야 하는 경우 | |
| 100 | + |
| 101 | +<br/> |
| 102 | + |
| 103 | +### Commit 규칙 |
| 104 | + |
| 105 | +- Commit 메세지 <br/> |
| 106 | + **GitMoji(✨, 🐛 등)** **type(#이슈번호): 작업 내용** |
| 107 | +- ex) ✨ **feat(#5)**: 검색 결과 필터링 기능 추가 |
| 108 | +- 깃모지 (Gitmoji) : 커밋 메시지를 위한 이모지 가이드로, **시각적인 강조**를 통해 **가독성** 높은 커밋 메시지를 작성할 수 있다. <br/> |
| 109 | + **→ Label의 이모지를 참고하여 삽입!** |
| 110 | + |
| 111 | +```tsx |
| 112 | +git add . |
| 113 | +git commit -m "gitmoji type(예: ✨ feat, ⚙ chore)(#이슈번호): 작업 내용" |
| 114 | +git push origin 현재 작업 브랜치명 |
15 | 115 | ``` |
16 | 116 |
|
17 | | -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. |
| 117 | +<br/> |
| 118 | + |
| 119 | +### Pull Request 규칙 |
18 | 120 |
|
19 | | -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. |
20 | 121 |
|
21 | | -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. |
| 122 | +``` |
| 123 | +자주 커밋하고 PR은 300자가 넘지 않도록 주의! (자주 PR) |
| 124 | +``` |
| 125 | + |
| 126 | +- **develop 브랜치**로 PR 날리기 |
| 127 | + |
| 128 | +  |
22 | 129 |
|
23 | | -## Learn More |
| 130 | + |
| 131 | +- PR 제목은 commit 메세지랑 똑같이 |
| 132 | + - 제목: **[Feat]** 핵심적인 부분만 간략하게 |
| 133 | + - 내용: 간결하게 리스트 방식으로 |
| 134 | +- merge는 reviewer가 해주기 <br/> |
| 135 | +: 코드 관련 수정사항, 질문 등 코멘트 남기기 |
24 | 136 |
|
25 | | -To learn more about Next.js, take a look at the following resources: |
| 137 | +<br/> |
26 | 138 |
|
27 | | -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. |
28 | | -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. |
| 139 | +### 팀원 리뷰 후 Merge |
29 | 140 |
|
30 | | -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! |
| 141 | +→ PR 리뷰 시에는 해당 브랜치로 checkout 한 후 확인 |
| 142 | +<br/> |
| 143 | +→ Merge는 리뷰어가 진행 |
31 | 144 |
|
32 | | -## Deploy on Vercel |
| 145 | +<br/> |
33 | 146 |
|
34 | | -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. |
| 147 | +### Issue 닫기 |
35 | 148 |
|
36 | | -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. |
| 149 | +- Merge 후, 자동 닫힘 |
0 commit comments