From e6a6d539365e39c32617ae9ba3de266ad2eece37 Mon Sep 17 00:00:00 2001 From: fridayCCC <133786622+fridayCCC@users.noreply.github.com> Date: Fri, 29 Dec 2023 16:47:55 +0900 Subject: [PATCH] Initial commit --- .env.example | 2 + .github/ISSUE_TEMPLATE/---bug-report.md | 31 +++++++++++++ .github/ISSUE_TEMPLATE/---chore.md | 16 +++++++ .github/ISSUE_TEMPLATE/---new-feature.md | 25 ++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 18 ++++++++ .github/workflows/commint_lint.yml | 11 +++++ CHANGELOG.md | 3 ++ README.md | 30 ++++++++++++ commitlint.config.js | 59 ++++++++++++++++++++++++ doc/00_project.md | 1 + doc/01_member.md | 1 + doc/02_Architecture.md | 1 + doc/03_Review.md | 1 + doc/document/example.md | 1 + 14 files changed, 200 insertions(+) create mode 100644 .env.example create mode 100644 .github/ISSUE_TEMPLATE/---bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/---chore.md create mode 100644 .github/ISSUE_TEMPLATE/---new-feature.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/commint_lint.yml create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 commitlint.config.js create mode 100644 doc/00_project.md create mode 100644 doc/01_member.md create mode 100644 doc/02_Architecture.md create mode 100644 doc/03_Review.md create mode 100644 doc/document/example.md diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..6f2f4af --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +API_KEY=http://localhost +TEST_APP_CLIENT_KEY=발급받은 clientkey를 넣어주세요. diff --git a/.github/ISSUE_TEMPLATE/---bug-report.md b/.github/ISSUE_TEMPLATE/---bug-report.md new file mode 100644 index 0000000..acf9eac --- /dev/null +++ b/.github/ISSUE_TEMPLATE/---bug-report.md @@ -0,0 +1,31 @@ +--- +name: "😣 Bug report" +about: 버그를 알려주세요 +title: '' +labels: '' +assignees: '' + +--- + +## 요약 +- 간단하게 버그에 대해 작성해주세요. + +## 버그 레벨 + - [ ] 빨리!! + - [ ] 되도록 빨리! + - [ ] 의도한게 아님 + - [ ] 가끔 일어남 + +## 재현 방법 +단계별로 서술해주세요. +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## 기대했던 동작 +- 어떤 동작을 기대했고, 실제 구현이 어땠는지 작성해주세요. + +## 스크린샷 + + diff --git a/.github/ISSUE_TEMPLATE/---chore.md b/.github/ISSUE_TEMPLATE/---chore.md new file mode 100644 index 0000000..e327d44 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/---chore.md @@ -0,0 +1,16 @@ +--- +name: "✨ Chore update" +about: 이거 써봅시다. 제안하기 +title: '' +labels: '' +assignees: '' + +--- + +## 요약 +- 간단하게 제안할 라이브러리/설정에 대해 작성해주세요. + +## 이유 +- 왜 필요한지 작성해주세요. + + diff --git a/.github/ISSUE_TEMPLATE/---new-feature.md b/.github/ISSUE_TEMPLATE/---new-feature.md new file mode 100644 index 0000000..1f76789 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/---new-feature.md @@ -0,0 +1,25 @@ +--- +name: "👀 New Feature" +about: 만들어주세요 +title: '' +labels: '' +assignees: '' + +--- + +## 요약 +- 어떤 기능인지 알려주세요 + +## 마감 날짜 +- 언제까지 완료되면 될까요? + +## 기대하는 동작 +- 기대하는 동작을 단계별로 작성해주세요. +1. 우측 버튼을 클릭하고 ... +2. ... +3. ... + +## 레퍼런스 +- 디자인 파일, 이미지 등 참고할만한 것이 있다면 작성해주세요. + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..b80b34a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,18 @@ +## 요약 + +- [Chore/Update/Add/Delete/BugFix] 설명 + +## 이슈 번호 + +- 이슈 연결하기 + +## 작업 내용 + +- 내용을 입력해주세요. + +## 스크린샷 + + +## Discussion(선택) + +- 고민해볼 사항이 있다면 적어주세요 \ No newline at end of file diff --git a/.github/workflows/commint_lint.yml b/.github/workflows/commint_lint.yml new file mode 100644 index 0000000..4985482 --- /dev/null +++ b/.github/workflows/commint_lint.yml @@ -0,0 +1,11 @@ +name: Commit messages lint +on: [pull_request, push] + +jobs: + commitlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: wagoid/commitlint-github-action@v4 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6bbf6de --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +# Release Notes + +# version 1이 완성되면 그 이후의 코드 변경에 대해서는 기록을 남깁니다! \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ab8b5a --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# GIT 활용하기 + +## github issue, pr tempalte +- `.github` 폴더 내에 있는 `ISSUE_TEMPLATE`, `PULL_REQUEST_TEMPLATE`을 통해 협업을 관리합니다. +- 이슈를 작성하고, 멤버를 할당한 뒤 이슈 이름으로 브랜치를 만들어 PR을 요청합니다. +- PR은 assign된 인원 중 과반수가 찬성하면 main으로 merge 합니다. + +## github action +- `.github/workflows` 폴더 내에 github action들을 관리합니다. +- 기본으로 commit 메시지 규칙 githubaction을 달아두었습니다. +- 권장 + - 배포 자동화 + - PR main올 merge할 때 테스트 실행 + - 에셋 관리 + - PR올릴 때 commit 메시지 관리하기 + +## commintlint +- [참고](https://commitlint.js.org/#/reference-rules) +- `develop-rule` +- husky를 같이 사용하는 것도 참고해보세요 + + +## doc +- 코드에 대한 문서는 `javadoc`, `dartdoc`을 선택 + : [참고](https://johngrib.github.io/wiki/java/javadoc/) +- 프로젝트 진행 중 이슈에 대한 자세한 문서는 `wiki` +- `ReadMe` > `doc/*` > `wiki` 순으로 자세히 작성한다고 생각하면 좋을 것 같습니다. + +## *.example 파일(참고) +- `.gitignore`으로 숨겨두는 파일의 경우 `*.example`파일을 만들어 public으로 오픈해두면 프로젝트를 훑어보는 사람에게 도움이 됩니다. \ No newline at end of file diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..7a4e840 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,59 @@ +// module.exports = {extends: ['@commitlint/config-conventional']} +module.exports = { + rules: { + "header-max-length": [2, "always", 100], + + "type-enum": [ + 2, + "always", + [ + "build", + "chore", + "ci", + "docs", + "feat", + "feature", + "fix", + "refactor", + "style", + "test", + ], + ], + "type-empty": [2, "never"], + "type-case": [2, "always", "lower-case"], + + "subject-empty": [2, "never"], + "subject-case": [ + 0, + "never", + ["sentence-case", "start-case", "pascal-case", "upper-case"], + ], + + "body-leading-blank": [2, "always"], + "body-max-line-length": [2, "always", 200], + "body-case": [0, "never", []], + + "footer-leading-blank": [1, "always"], + "footer-max-line-length": [2, "always", 100], + }, + plugins: [ + { + rules: { + "develop-rule": ({ subject }) => { + const commitFolders = ["[data]", "[ui]"]; + return [ + commitFolders.some( + (folder) => + subject?.startsWith(folder) !== subject?.endsWith(folder) + ), + `\n${commitFolders.map((folder) => `${folder}\n`).join("")} +위 네 가지 중 한 가지는 반드시 콜론(:) 뒤에 포함되어야 합니다. +[name] 뒤에 메시지 입력은 필수입니다. + +ex) feat: [frontend] 마우스 더블클릭 후 스타일 변경`, + ]; + }, + }, + }, + ], +}; diff --git a/doc/00_project.md b/doc/00_project.md new file mode 100644 index 0000000..41e6216 --- /dev/null +++ b/doc/00_project.md @@ -0,0 +1 @@ +# PROJECT 기능, 목적 등 \ No newline at end of file diff --git a/doc/01_member.md b/doc/01_member.md new file mode 100644 index 0000000..0d5a786 --- /dev/null +++ b/doc/01_member.md @@ -0,0 +1 @@ +# 멤버 소개 및 파트 분배에 대해 작성 \ No newline at end of file diff --git a/doc/02_Architecture.md b/doc/02_Architecture.md new file mode 100644 index 0000000..2950ff4 --- /dev/null +++ b/doc/02_Architecture.md @@ -0,0 +1 @@ +# 코드 구조와 프로젝트 시스템 설계에 관해 작성 \ No newline at end of file diff --git a/doc/03_Review.md b/doc/03_Review.md new file mode 100644 index 0000000..6f59e6f --- /dev/null +++ b/doc/03_Review.md @@ -0,0 +1 @@ +# 각자 프로젝트를 통해 배운것, 아쉬운 것들을 회고 \ No newline at end of file diff --git a/doc/document/example.md b/doc/document/example.md new file mode 100644 index 0000000..ba3081a --- /dev/null +++ b/doc/document/example.md @@ -0,0 +1 @@ +## 여기에 javadoc, dartdoc으로 작성한 주석을 문서화 합니다. \ No newline at end of file