깃 플로우

  1. 프로젝트의 메인 브랜치는 'main'

  2. main branch를 직접 수정하지 않기 위해 develop branch생성함.

  3. 각 팀원은 develop branch에서 클론 진행 후 레포지토리에서 개발을 진행.

(깃 레포지토리 관리자는 jira ticket ISSUE KEY 된 branch를 생성)

  1. 모든 기능 구현 후, develop branch에 pull request 설정.

  2. 팀원들과 코드 리뷰를 진행한 후 pull request 닫고, branch delete, jira Issue 완료로 변경

  3. develop branch가 안정화되면 main branch로 merge

디렉토리

└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── spring
    │   │           └── guide
    │   │               ├── ApiApp.java
    │   │               ├── SampleApi.java
    │   │               ├── domain
    │   │               │   ├── coupon
    │   │               │   │   ├── controller
    │   │               │   │   ├── service
    │   │               │   │   ├── repository
    │   │               │   │   ├── entity
    │   │               │   │   ├── dto
    │   │               │   │   └── exception
    │   │               │   └── model
    │   │               │       ├── Address.java
    │   │               │       ├── Email.java
    │   │               │       └── Name.java
    │   │               ├── global
    │   │               │   ├── common
    │   │               │   │   ├── request
    │   │               │   │   └── response
    │   │               │   ├── config
    │   │               │   │   ├── SwaggerConfig.java
    │   │               │   │   ├── properties
    │   │               │   │   ├── resttemplate
    │   │               │   │   └── security
    │   │               │   ├── error
    │   │               │   │   ├── ErrorResponse.java
    │   │               │   │   ├── GlobalExceptionHandler.java
    │   │               │   │   └── exception
    │   │               │   └── util
    │   │               └── infra ( 채팅 ) 
    │   │                   ├── email
    │   │                   └── sms
    │   │                       ├── AmazonSmsClient.java
    │   │                       ├── SmsClient.java
    │   │                       └── dto
    │   └── resources
    │       ├── application-dev.yml
    │       ├── application-local.yml
    │       ├── application-prod.yml
    │       └── application.yml

코드 컨벤션