패키지 구조

도메인 분류

# member
member

# directory
rss_directory_group
rss_directory

# sbscribe
rss_sbscribe
rss_directory_subscribe

# post
post
react
bookmark
open

# alert
alert
alert_service

레이어 구조

📂 config
📂 global
	📂 utill
📂 domian
	📂 ...{domain_name}
    🟢 {domain_name}.java
📂 exception
  🟢 GlobalHttpExceptionHandler
  🟢 ErrorObject
  🟢 NoSuchElementException ...
📂 presentation
	 📂 controller
	 📂 dto
   📂 docs // swagger custom annotation
📂 service
📂 infrastructure
  📂 entity
	  📂 ...{domain_name}
      🟢 {domain_name}Entity.java
	📂 repository
  📂 api

계층적인 느낌 제시안1 좀더 나은거같은
장점: 도메인과 엔티티를 분리하면 도메인이 자유로워 진다
장점: DB 교체 가능
단점: 중복이 많아짐

Exception

GlobalHttpExceptionHandler
  -  http 오류 코드

도메인 별로
동사(에러) + 목적어(파라미터, 메시지)

동사
NoSuchElementException(목적어-Member)
"~를 찾을 수 없습니다."

목적어
enum 
 MEMBER, DIRECTORY

특수한 에러
 - e.g.) RSS 구독 URL을 넣었는데 블로그가 사라진다면? 외부 API에서 에러가 남 <- 이건 우리 서버 에러? 사용자의 잘못도 아님
 - 이럴 땐 상의하기

주석 컨벤션

복잡한 로직, 외부 인프라를 사용하는 로직, 메서드에 Javadoc 주석을 단다.

본인이 생각하기에 미완성인 부분은 TODO로 남겨주기
e.g.) // TODO: 이 부분 예외처리 해야됨

property 관리 방식

인프라 종류별로 나누기

e.g.)
application-mysql.yml
application-oauth.yml
application-kakao-alert.yml

테스트 방식

단위 테스트 위주

API 테스트 툴