✅ 컨벤션 정리
1. Git 브랜치 전략 정리
- feat/#{ISSUE_NUMBER}-작업 내용 (ENG) : 기능 개발 브랜치
- fix/#{ISSUE_NUMBER}-작업 내용 (ENG) : 버그 수정 브랜치
- hotfix/#{ISSUE_NUMBER}-작업 내용 (ENG) : 긴급 핫픽스
- ✔ hotfix/ : 운영 배포 이후 발생한 긴급 이슈 대응
- ✔ chore/: 배포, 환경설정, Lint 등 코드 로직과 무관한 작업
| \ | Branch | Role |
| 메인 브랜치 구성 | main | 배포 가능한 최종 코드 (Release) |
| develop | 개발 완료된 기능 통합용 (테스트 및 QA 후 main으로 merge) | |
| 작업 브랜치 전략 | feat/ | 새로운 기능 추가 (ex. feat/login-page, feat/kafka-consumer) |
| fix/ | 버그 수정 (ex. fix/payment-bug) | |
| refactor/ | 리팩토링 목적 (ex. refactor/folder-structure) | |
| docs/ | 문서 작업 (ex. docs/readme-update) | |
| chore/ | 빌드, 설정, 패키지 업데이트 등 (ex. chore/eslintrc-setup) | |
| test/ | 테스트 코드 관련 브랜치 (ex. test/api-validation) |
2. Git 커밋 컨벤션, 관련 라벨 체계 정리
| 태그 (Type) | 라벨 체계 | 용도 설명 | 예시 |
| Feat | FEAT | 새로운 기능 추가 | Feat: 예약 페이지 API 연동 구현 |
| Fix | FIX | 버그 수정 | Fix: 결제 실패 시 예외 처리 추가 |
| Refactor | REFACTOR | 코드 리팩토링 (기능 변화 X) | Refactor: 컴포넌트 분리 및 구조 개선 |
| Style | STYLE | 코드 스타일 변경 (세미콜론, 들여쓰기 등) | Style: 코드 정렬 및 세미콜론 정리 |
| Docs | DOCS | 문서 수정 (README, 회고, 주석 등) | Docs: 프로젝트 개요 문서 작성 |
| Test | TEST | 테스트 코드 추가/수정 | Test: 예약 API 단위 테스트 추가 |
| Chore | CHORE | 빌드, 패키지, 설정 관련 작업 | Chore: eslint 설정 추가 및 적용 |
| Ci | CI/CD | CI/CD 관련 설정 변경 | Ci: GitHub Actions 배포 스크립트 수정 |
| Perf | PERF | 성능 개선 관련 변경 | Perf: 이미지 lazy loading 적용 |
| DB | DB | 데이터베이스 작업 (DDL, 쿼리수정 등) | DB: 예약 테이블 인덱스 추가 |
| Security | SECURITY | 인증, 인가 등 보안 관련 작업 | Security: 로그인 토큰 검증 로직 추가 |
3. Git PR 컨벤션 정리
- ISSUE, PR 템플릿 각각 만들기.
[PR 제목 형식]
예: Feat : 예약 페이지 상태관리 적용
[본문 내용 구조]
1. 작업 개요 - PR 타입, 관련 이슈 링크 (Close # ), 개요
2. 주요 변경 사항 - 변경 사항 정리
3. 스크린샷
4. 기타 참고 사항
5. 체크 리스트
- PR 템플릿에 맞추어 작성했어요.
- 변경 내용에 대한 테스트를 진행했어요.
- 프로그램이 정상적으로 동작해요.
- PR에 적절한 라벨을 선택했어요.
- 불필요한 코드는 삭제했어요.
4. 코드 컨벤션 정리
- eslint, prettier 사용
- 함수 위에 설명 적기 /** */
| 프론트 주요 기능 주석 기준 | 백엔드 주요 도메인 기능 |
| /login, /signup - 로그인 및 회원가입 기능 /flight - 항공권 검색, 조회, 선택, 예약 /lodging - 숙소 검색, 필터링, 상세보기 /booking - 예약 내역 확인, 결제 진행 /payment - 결제 정보 입력 및 결제 완료 처리 /mypage - 사용자 마이페이지: 예약 조회, 회원 정보 확인 및 수정 |
User - 회원가입, 로그인, 회원 정보 수정 Flight - 항공편 조회 API, 날짜 및 노선별 검색 로직 Lodging - 숙소 정보 조회, 필터 검색, 상세 제공 Reservation - 항공/숙박 예약 저장, 예약 내역 조회 Payment - 결제 처리 및 결과 저장, 결제 상태 관리 Event/Kafka - 예약/결제 완료 시 이벤트 전달 (kafka 활용) |
✅ 디렉토리 구조 정리
1. 프론트엔드
=> 다음 글에서 더 자세하게 정의함.
감행 - #3 CRA 프로젝트 상태 분석 및 개선 방향 정리 (프론트)
1. 기존 FE_Original 프로젝트 상태- 리팩토링 전, 내가 작업 중인 프로젝트는 CRA (Create React App) 기반의 React 프로젝트임.- 기존 프로젝트 코드가 FISA에서 배워서 익혔던 방식과 많이 차이 나서 이해하
iamyuunzo.tistory.com
- app/ 내부에 페이지 및 기능 단위 폴더로 구성
- 필요한 경우 폴더 아래 components/, hooks/, api/ 세분화
- ex) /store → /stores (복수형 네이밍 통일)
/src
├── /app # 메인 폴더
│ ├── /login
│ ├── /signup
│ ├── /flight # 항공권 관련
├── FlightList.jsx
├── FlightDetail.jsx
├── Flight-api.jsx
│ ├── /lodging # 숙박 관련
│ ├── /booking # 예약 공통
│ ├── /payment # 결제 관련
│ ├── /mypage # 마이페이지
│ ├── /admin # (추후) 관리자
│ ├── /common # 공통 컴포넌트 (Button, Modal 등)
│ └── /hooks, /api, /store, /styles 등
│ ├── App.jsx
└── main.jsx (or index.js)
2. 백엔드
- 각 도메인 폴더마다: controller, service, repository, dto, entity 구조 통일
- global 패키지에 공통 설정 (예외 처리, 응답 포맷 등)을 분리
- 추후 config에서 Swagger, Kafka, Security 등도 폴더 나누기
/src/main/java/com/gamhang
├── /flight
│ ├── controller
│ ├── dto
│ ├── entity
│ ├── repository
│ ├── service
│ └── FlightApplication.java
├── /lodging
├── /reservation
├── /payment
├── /user
├── /admin # 추후 생성
├── /global # 공통 응답, 예외, config
│ ├── exception
│ ├── response
│ └── config
'Project > 감행' 카테고리의 다른 글
| 감행 - #3 CRA 프로젝트 상태 분석 및 개선 방향 정리 (프론트) (0) | 2025.07.15 |
|---|---|
| 감행 - #1 리팩토링 시작 및 일정 정리 (0) | 2025.07.15 |
