Skip to content
memoryDev edited this page Jan 8, 2026 · 1 revision

Welcome to the concert-reservation-system wiki!

📋 Ground Rules (개발 컨벤션)

이 프로젝트는 1인 개발 프로젝트이지만, 실무 환경과 유사한 협업 프로세스 및 코드 품질 유지를 위해 아래 규칙을 준수합니다.


1. Git Branch Strategy (브랜치 전략)

Git Flow 전략을 간소화하여 사용합니다.

  • main: 배포 가능한 상태의 안정적인 코드 (Production)
  • develop: 다음 버전을 위한 개발 중인 코드 (선택 사항)
  • feature/*: 새로운 기능 개발 브랜치
    • 예시: feature/seat-reservation, feature/redis-lock
  • fix/*: 버그 수정 브랜치
  • refactor/*: 코드 리팩토링 브랜치

작업 흐름: main에서 브랜치 생성 -> 작업 -> PR 생성 -> Code Review(Self) -> Merge


2. Commit Message Convention (커밋 메시지 규칙)

커밋 메시지는 [Type]: Title 형식을 따릅니다.

Header Type

태그 설명
Feat 새로운 기능 추가
Fix 버그 수정
Refactor 기능 변경 없는 코드 구조 개선
Test 테스트 코드 추가 및 수정
Docs 문서(README, Wiki) 수정
Chore 빌드 설정, 패키지 매니저 설정 등 (코드 수정 X)
Style 코드 포맷팅, 세미콜론 누락 등 (로직 변경 X)

작성 예시

  • Feat: 좌석 예약 API 구현
  • Fix: 동시성 이슈로 인한 중복 예약 버그 수정
  • Refactor: RedissonLockFacade 클래스 구조 개선
  • Docs: 프로젝트 Ground Rules 작성

3. Pull Request (PR) 규칙

기능 단위로 개발이 완료되면 PR을 통해 메인 브랜치에 병합합니다.

PR 제목

  • 커밋 메시지와 동일한 컨벤션을 사용합니다.
  • 예시: Feat: Redis 분산 락 적용

PR 내용 (Template)

## 💡 개요
- Redis를 사용하여 좌석 예약 시 동시성 문제를 해결했습니다.

## 🛠️ 작업 내용
- Redisson 라이브러리 의존성 추가
- `CourseLockFacade` 클래스 구현 (분산 락 로직)
- `CourseService` 로직 분리

## 🔍 테스트 방법
- JMeter를 사용하여 100명 동시 접속 테스트 수행
- `test/ConcurrentTest.java` 실행