Last Modified at 2025-07-02
- Production: hi-rating.co.kr
- Test: 팀에 따로 공유
- Java, Spring Boot 기반
- AWS 기반 인프라
- Production: Elastic Beanstalk (EC2 + Docker로 교체 예정)
- Test: EC2 + Docker
- DB: MySQL
- Cooperation Cycle
- Issue 작성
- Assignees 할당 및 Label 할당
- local에서 {Issue Label}/{Issue Number}-{Issue Name} 브랜치로 체크아웃
- ex. docs/14-readme-initialization, refactor/10-package-by-feature
- Commit
- ex. feat: XxxController 개발, refactor: YyyService 예외 로직 단순화
- Push 후 Pull Request 작성
- PR 이름이 develop 브랜치의 커밋명이 됨
- Squash and Merge 옵션 꼭 확인
- Reviewers, Assignees, Label 할당
- close #Issue-Number 을 통해, 연관된 Issue 자동 close
- Reviewer에게 코드 리뷰 연락
- Issue 작성
- Production: main 브랜치로 커밋
- Test: develop(기본) 브랜치로 커밋
com.example.example
├── domain
│ ├── xxx
│ │ ├── api
│ │ │ ├── XxxController.java
│ │ │ └── XxxAdminController.java
│ │ ├── application
│ │ │ ├── XxxService.java
│ │ │ └── XxxAdminService.java (필요하다면 분리함)
│ │ ├── dao
│ │ │ └── XxxRepository.java
│ │ ├── domain
│ │ │ └── Xxx.java
│ │ ├── dto
│ │ │ ├── request
│ │ │ │ └──Xxx~~~Request.java
│ │ │ └──response
│ │ │ └── Xxx~~~Response.java
│ │ └── exception
│ │ ├── XxxErrorCode.java
│ │ └── XxxException.java
│ │
│ ├── yyy
│ │
│ ...
│
├── global
│ ├── exception
│ │ ├── GlobalExceptionHandler.java
│ │ ├── ErrorCode.java
│ │ └── CustomException.java
│ ├── config
│ │ └── SecurityConfig.java
│ └── util
│ └── JwtUtil.java