백엔드만의 협업 규칙
- 슬랙 활발하게 참여하기
- 1시간 이상 해결하지 못한 이슈가 있다면 다른 팀원에게 도움 청하기
역할 분담
도메인
하정
- 회원(Security)
- 센터(Security)
- 관심센터
부희
- 기부게시판 : 기부글/기부요청글
- 태그 : 기부글 용/기부요청글 용
- 댓글 : 기부글 용/기부요청글 용
권규
- 채팅
- 거래예약
- 알림(WebSocket)
- 활동게시판
주요 사용 기술
- 배포 : AWS EC2 + CodeDeploy + Github Actions ⇒ 부희
- 로그인 : Spring Security + JWT ⇒ 부희
- 회원가입 : Spring Boot + smtp 활용한 이메일 인증 ⇒ 하정
- 알림/채팅 기능 : Spring Boot + WebSocket + (stomp) ⇒ 권규
- 공공 오픈 API ⇒ 하정
- 이미지 등록 : S3 관련 설정 ⇒ 부희, 하정
- 게시글 동적 검색 :
Querydsl
(게시글 동적 검색 : 분류/제목 등 여러 필터링) ⇒ 부희
코드 컨벤션
- 기본적인 코드 스타일 : Google Java Style Guide & 소나린트
- DTO 관련
- 네이밍 :
ResourseRequest
,ResourseResponse
- 객체 생성 : 생성자, 빌더, 정적 팩토리 메서드
- DTO와 Entity 형 변환 : (정적 팩토리 메서드 사용해도 좋을 듯)
- 필드가 3개 이상 → @Builder / 그 외 → 정적 팩토리 메서드
- Lombok 어느 정도까지 사용할 것인가
@Setter
,@Data
금지- 되도록
@Getter
,@Builder
,@NoArgsConstructor
위주로 사용
- 예외처리 어떤 식으로 할 것인가
@ControllerAdvice
+@ExceptionHandler
: 도메인 별로 발생할 수 있는 예외들을 한 곳에 모아서 관리- 커스텀
ErrorResponse
: 응답에러를 반환할 때 발생시각 + http status + 에러코드 + 에러메시지 포함
- 테스트 코드는 어느 영역까지 할 것인가
- 컨트롤러단 → 통합테스트