[백엔드] 공통 설정

깃허브

브랜치 전략

- 프로젝트의 브랜치 전략은 git flow를 기반으로 한다. 
- 현재 팀원이 2명이므로 QA 등을 함께 진행한다. release 브랜치의 필요성이 떨어지기에 사용하지 않는다.
- hotfix의 경우 필요에 따라 사용한다.

## 사용 브랜치
- main
- develop
- feature
- hotfix(경우에 따라)

컨벤션

# 깃 컨벤션
- https://gist.github.com/stephenparish/9941e89d80e2bc58a153
    - feat : 새로운 기능 추가
    - fix : 버그 수정
    - docs : 문서 수정
    - style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
    - refactor : 코드 리펙토링
    - test : 테스트 코드, 리펙토링 테스트 코드 추가
    - chore : 빌드 업무 수정, 패키지 매니저 수정

# 코드 컨벤션
- 기본 네이버 코드 컨벤션
    - https://naver.github.io/hackday-conventions-java/
- 추가 코드 컨벤션
    - 모든 변수에 final을 사용하여 불변성을 보장한다.
    - 파라미터가 4개 이상일 경우는 계행하여 line마다 변수 1개로 가독성을 올린다.

문서화

# 기획 문서
- Notion

# API 문서
- Swagger

Response


1. 성공 Response
{
    "success": true,
    "error": null,
    "data": {
        "id" : 1L,,
        "name": string
    }
}

2. 실패 Response
{
    "success": false,
    "error": {
        "code": "CATEGORY_001",
        "message": "없는 카테고리입니다."
    },
    "data": null
}

형식
ex) RebalancerResponse<CategoryResponse>