# 1. 협업 & 작업 프로세스 (Workflow) ## 1.1. Tool Chain - 문서화 (Documentation) - Google Documents : [구글 드라이브 링크](https://drive.google.com/drive/folders/1m-2W7BcwHgKuFFNEr9Pblgpce3NEB_TV?usp=drive_link) - Notion : [노션 SPMS 홈 링크](https://www.notion.so/2eb4d57b3bf08194b974d3384a639860?pvs=21) - 이슈 관리 (Issue Tracking) - YouTrack : [YouTrack SPMS 프로젝트 링크](https://ipstein.youtrack.cloud/projects/) - 코드 관리 (Code Repository) - Gitea : [Gitea SPMS 프로젝트 링크](https://git.ipstein.myds.me/SPMS) - Commnication - Discord - Slack ## 1.2. Task LifeCycle - 모든 개발 작업은 YouTrack Issue 생성 없이는 시작할 수 없다. - 프로젝트 관리는 YouTrack에서, 형상관리는 Gitea에서 수행한다. ### 1. 이슈 등록 (***Require***) - 작업할 단위 기능을 해당하는 YouTrack에 등록한다. (Gitea Issue 미사용) #### 요약 (***Require***) - `작업_제목` (예시: 로그인 API 구현) - 기존의 `[분류]` 에 해당하는 부분은 `유형` 필드로 대체하므로 적지 않는다. - 설명 (***Require***) - 현재 작업하는 내용에 대한 리스트 작성한다. - 그외의 기획서 링크가 있다면 본문에 첨부한다. #### 필드 설정 (***Require***) - 다음 사용자 지정 필드는 반드시 선택한다. 1. 파트 (***Require***): 작업할 서비스를 선택한다. 2. 우선순위 (***Require***): 긴급/ 높음/ 보통/ 낮음/ 없음 3. 유형 (***Require***): Feature(기능 개발)/ Bug(버그)/ Design(디자인)/ Refactor(리팩토링)/ Improvement(기능 개선)/ Chore(설정 관리)/ Documentation(문서 작업) 4. 상태 (***Require***): 대기/ 진행중/ 확인 대기/ 완료 5. Milestones - 배포 버전 관리 (Gitea의 Milestones 생성 불필요) - 형식: v1.0.0, MVP, CBT 등 6. Sprints - 작업 기간 관리 - 형식: 2026-01 Sprint 1 등 7. 담당자 - 개발 담당(복수 선택 가능)을 선택한다. - 이슈를 생성해줬다면 해당 이슈가 프로젝트에 맞게 애자일 보드에 배치다 잘 되었있는지 확인한다. ### 2. Branch 생성 - 1에서 생성한 YouTrack Issue ID(`SPMS-nn`) 확인후 브랜치 생성한다. - 형식: `모델/이슈ID-작업요약` - 모델: Git 전략의 [1. Branching Model (Git-Flow 방식)](./GitFlow.md/#1-branching-model-git-flow-방식) 참고 - 이슈ID: 이슈번호의 생략하지 않고 전부 작성한다. - 작업 요약: `동사-명사` 형식으로 작성하며 영문으로 작성하고 둘간의 연결은 `-` 로 한다. - 예: feature/SPMS-1-login-api ### 3. 개발 & Commit - 로컬에서 작업 후 커밋시, YouTrack 연동을 위해 메시지 규칙을 엄수한다. - 커밋 메시지의 형태는 [Conventional Commits](https://www.conventionalcommits.org/ko/v1.0.0/) 의 규칙을 따른다. - Git 전략의 [2. Commit Message](./GitFlow.md/#2-commit-message) 참고 - 단, YouTrack 에 따라서 형식은 `타입: 설명 (이슈ID)` 로 지정한다. - 예: feat: 로그인 UI 작업 (Close SPMS-1) ### 4. Pull Request (PR) - 작업 완료 후 develop 브랜치로 PR을 생성한다. - PR은 피치못한 사정이 있지 않는 한 최소 1명 이상의 리뷰를 거쳐야 한다. - PR 본문에 작업 내용과 테스트 결과를 요약한다. - Git 전략의 [3. Pull Request(PR) Message](./GitFlow.md/#3-pull-requestpr-message) 참고 ### 5. Merge & Close - 코드 리뷰 (Self-Review 포함) 후 Merge 한다. - 자동 완료 - 커밋 메시지에 특정 명령어를 사용했다면 Merge 시 YouTrack 이슈가 자동으로 `해결됨` 상태로 지정된 값 중 최상단 값의 상태로 변경된다. - 다른 상태로 변경하고 싶다면 이슈 ID 작성 부분에 해당 값의 영어 이름을 넣어준다. - 대기: Available - 진행 중: In Progress - 확인 대기: To Verify - 완료: Done - 수동 완료**:** 명령어를 누락했다면, 개발자가 직접 YouTrack에서 상태를 변경해야 한다. - YouTrack 애자일 보드는 '상태(State)' 필드에 따라 자동으로 카드가 이동하므로, 별도의 보드 관리가 필요 없다.