Skip to content

Commit e84fb97

Browse files
authored
(#1) chore: GitHub 이슈 및 PR 템플릿 추가
* chore: ignore JetBrains project metadata * chore: add GitHub issue and PR templates
1 parent 6ec13d8 commit e84fb97

11 files changed

Lines changed: 312 additions & 48 deletions

File tree

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: "🐞 Frontend Bug Report"
2+
description: 화면, 사용자 플로우, 브라우저 동작, API 연동 문제를 제보합니다.
3+
title: "[Bug] "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
프론트엔드 버그는 "어느 화면에서 어떤 행동을 했을 때 무엇이 보였는지"가 핵심입니다.
10+
가능하면 스크린샷, 영상, 콘솔 에러, 실패한 네트워크 요청을 함께 남겨 주세요.
11+
12+
- type: textarea
13+
id: problem
14+
attributes:
15+
label: 문제 요약
16+
placeholder: 사용자 프로필 페이지에서 배지 카드가 간헐적으로 비어 보입니다.
17+
validations:
18+
required: true
19+
20+
- type: input
21+
id: route
22+
attributes:
23+
label: 발생 위치
24+
description: 라우트, 화면, 컴포넌트 이름을 적어 주세요.
25+
placeholder: "/users/[username], UserBadgeSection"
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: reproduction
31+
attributes:
32+
label: 재현 절차
33+
placeholder: |
34+
1. `/users/alexization` 방문
35+
2. 새로고침
36+
3. 배지 영역이 skeleton 이후 비어 있음
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: expected_behavior
42+
attributes:
43+
label: 기대 동작
44+
placeholder: 배지 카드가 사용자 데이터와 함께 표시되어야 합니다.
45+
validations:
46+
required: true
47+
48+
- type: textarea
49+
id: actual_behavior
50+
attributes:
51+
label: 실제 동작
52+
placeholder: 카드 컨테이너는 렌더링되지만 내부 데이터가 비어 있습니다.
53+
validations:
54+
required: true
55+
56+
- type: textarea
57+
id: evidence
58+
attributes:
59+
label: 스크린샷 / 영상 / 콘솔 / 네트워크 증거
60+
placeholder: |
61+
- screenshot:
62+
- console error:
63+
- failed request:
64+
- response payload:
65+
validations:
66+
required: false
67+
68+
- type: textarea
69+
id: environment
70+
attributes:
71+
label: 브라우저 및 환경
72+
placeholder: |
73+
- Browser:
74+
- Device/Viewport:
75+
- Environment:
76+
- Branch or commit:
77+
validations:
78+
required: false
79+
80+
- type: textarea
81+
id: acceptance
82+
attributes:
83+
label: 수정 후 확인해야 할 조건
84+
placeholder: |
85+
- [ ] 동일 경로에서 정상 렌더링된다.
86+
- [ ] 콘솔 에러가 발생하지 않는다.
87+
- [ ] 실패한 네트워크 요청이 없다.
88+
validations:
89+
required: true
90+
91+
- type: input
92+
id: related_backend_issue
93+
attributes:
94+
label: 연관된 백엔드 이슈 또는 PR (선택)
95+
placeholder: "alexization/git-ranker#123"
96+
validations:
97+
required: false
98+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 🔒 보안 취약점 제보
4+
url: mailto:alexizationy@gmail.com
5+
about: 인증, 토큰, 쿠키, 프론트엔드 보안 이슈는 공개 이슈 대신 이메일로 제보해 주세요.
6+
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: "🛠️ Frontend Engineering Task"
2+
description: 리팩터링, 성능, 접근성, 테스트 하니스, DX 개선 작업을 기록합니다.
3+
title: "[Task] "
4+
labels: ["task", "triage"]
5+
body:
6+
- type: dropdown
7+
id: task_type
8+
attributes:
9+
label: 작업 유형
10+
options:
11+
- ui-refactor
12+
- performance
13+
- accessibility
14+
- testing
15+
- developer-experience
16+
- dependency-upgrade
17+
- documentation
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: reason
23+
attributes:
24+
label: 왜 필요한가요?
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: scope
30+
attributes:
31+
label: 작업 범위
32+
placeholder: |
33+
- route:
34+
- component:
35+
- hook/store:
36+
- test/harness:
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: done
42+
attributes:
43+
label: 완료 조건
44+
placeholder: |
45+
- [ ] ...
46+
- [ ] ...
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: validation
52+
attributes:
53+
label: 검증 방법
54+
placeholder: |
55+
- `npm run lint`
56+
- `npm run build`
57+
- 스크린샷 / 브라우저 QA / Playwright
58+
validations:
59+
required: true
60+
61+
- type: textarea
62+
id: risks
63+
attributes:
64+
label: 리스크 및 의존성
65+
placeholder: |
66+
- 리스크:
67+
- 백엔드 의존성:
68+
- 후속 작업:
69+
validations:
70+
required: false
71+
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: "✨ Frontend Feature Request"
2+
description: 새 UI, 사용자 플로우, 인터랙션, 프론트엔드 QA 개선을 제안합니다.
3+
title: "[Feature] "
4+
labels: ["enhancement", "feature"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
프론트엔드 기능 요청은 "컴포넌트 추가"보다 "사용자 경험이 어떻게 달라지는지"가 먼저입니다.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: 해결하려는 문제
15+
placeholder: 사용자가 현재 랭킹 변화 이유를 이해하기 어려워 이탈이 발생합니다.
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: outcome
21+
attributes:
22+
label: 원하는 사용자 결과
23+
placeholder: 사용자가 랭킹 상세 화면에서 점수 증감 원인을 바로 이해할 수 있어야 합니다.
24+
validations:
25+
required: true
26+
27+
- type: input
28+
id: route
29+
attributes:
30+
label: 대상 화면 또는 라우트
31+
placeholder: "/ranking, /users/[username]"
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: desired_behavior
37+
attributes:
38+
label: 원하는 UI / 인터랙션
39+
placeholder: |
40+
- 사용자가 어떤 행동을 하는지
41+
- 어떤 상태가 보여야 하는지
42+
- 실패/빈 상태는 어떻게 보여야 하는지
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: acceptance
48+
attributes:
49+
label: 수용 기준
50+
placeholder: |
51+
- [ ] ...
52+
- [ ] ...
53+
validations:
54+
required: true
55+
56+
- type: textarea
57+
id: contract_dependency
58+
attributes:
59+
label: 백엔드 / API 의존성
60+
placeholder: |
61+
- 필요한 API:
62+
- 계약 변경 여부:
63+
- 연관 backend 이슈/PR:
64+
validations:
65+
required: false
66+
67+
- type: textarea
68+
id: qa_evidence
69+
attributes:
70+
label: 필요한 QA 증거
71+
placeholder: |
72+
- 스크린샷:
73+
- Playwright:
74+
- 브라우저 콘솔/네트워크 확인:
75+
- 반응형 확인:
76+
validations:
77+
required: true
78+
79+
- type: textarea
80+
id: non_goals_and_risks
81+
attributes:
82+
label: 비목표와 리스크
83+
placeholder: |
84+
비목표:
85+
리스크:
86+
validations:
87+
required: false
88+

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
## 1) 요약
2+
- 무엇이 변경되었나요?
3+
- 왜 지금 필요한가요?
4+
5+
## 2) 연관 이슈
6+
- Closes #
7+
- 관련 backend 이슈/PR:
8+
9+
## 3) 사용자 관점 결과
10+
- 해결하려는 문제:
11+
- 사용자에게 달라지는 점:
12+
- 비목표:
13+
14+
## 4) 영향 범위
15+
- 변경된 route / page / component:
16+
- 상태 관리 / 데이터 로딩 영향:
17+
- API 계약 영향:
18+
- 접근성 / 반응형 영향:
19+
20+
## 5) 스크린샷 또는 영상
21+
- before:
22+
- after:
23+
24+
## 6) 검증 증거
25+
26+
| 유형 | 명령어 / 증거 | 결과 |
27+
| --- | --- | --- |
28+
| Lint | `npm run lint` | |
29+
| Build | `npm run build` | |
30+
| Automated Test | `미구축` 또는 실행한 테스트 명령 | |
31+
| Playwright | 실행한 시나리오 또는 `미구축(<사유>)` | |
32+
| Browser QA | 콘솔 / 네트워크 / 반응형 확인 내용 | |
33+
34+
## 7) API / 백엔드 연동 확인
35+
- 필요한 API 응답:
36+
- Mock 여부:
37+
- 관련 backend 변경:
38+
39+
## 8) 리스크 및 롤백
40+
- 리스크:
41+
- 롤백 계획:
42+
43+
## 9) 체크리스트
44+
- [ ] 연관 이슈가 연결되어 있음
45+
- [ ] 스크린샷 또는 영상이 포함되었거나 불필요 사유를 적음
46+
- [ ] Lint / Build 결과가 기입되어 있음
47+
- [ ] 브라우저 QA 또는 Playwright 결과가 기입되어 있음
48+
- [ ] API 계약 영향이 반영되었거나 없음을 명시함

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
# misc
2424
.DS_Store
2525
*.pem
26+
.idea/
2627

2728
# debug
2829
npm-debug.log*

.idea/.gitignore

Lines changed: 0 additions & 8 deletions
This file was deleted.

.idea/discord.xml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.idea/git-ranker-client.iml

Lines changed: 0 additions & 12 deletions
This file was deleted.

.idea/modules.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)