├── global
│ ├── config # 글로벌 설정 (OAuth2, Redis, Kafka, Caffeine, WebSocket, SSE 등)
│ ├── auth # 인증/인가(OAuth2, JWT, RT 관리)
│ ├── exception # 글로벌 예외처리
│ ├── common # 전역적으로 모든 도메인에서 공유할 공통 상수
│ ├── util # 공통 유틸 클래스
│ ├── sse # SSE 전용 처리 모듈
│ └── websocket # WebSocket(Socket.IO) 설정
│
├── domain
│ ├── auth # 인가(Rt, OAuth) 도메인
│ │ ├── client
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── service
│ │ └── repository
│ │
│ ├── channel # 채널 (1:1 채팅, N:N 채팅, 추천 시스템) 도메인
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── repository
│ │ ├── service
│ │ └── websocket # 실시간 채팅 처리용 로직(Socket.IO)
│ │
│ ├── interests # 취향 도메인
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ │
│ ├── alarm # 알림 도메인
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── repository
│ │ ├── service
│ │ └── sse # SSE 알림 송신 전용 처리
│ │
│ ├── tuningreport # 튜닝 레포트 도메인
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ │
│ ├── user # 사용자 도메인
│ │ ├── controller
│ │ ├── dto
│ │ │ └── request
│ │ │ └── response
│ │ ├── entity
│ │ │ └── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│
└── HertzBeApplication.java # 메인 실행 파일
폴더명 |
설명 |
config |
OAuth2 인증, Redis, Kafka, WebSocket, SSE 등 전체 글로벌 설정 |
auth |
OAuth2 소셜 로그인, Access/Refresh Token 관리 |
exception |
전체 공통 예외(GlobalExceptionHandler 등) |
util |
공통 유틸리티 클래스 (ex. 토큰 생성기, 암호화 유틸 등) |
sse |
SSE 연결 설정 및 기본 흐름 관리 |
websocket |
WebSocket(Socket.IO) 연결 설정 및 핸들러 |
common |
전역적으로 모든 도메인에서 공유할 공통 상수, Enum, 응답 포맷 등을 관리하는 패키지 |
각 도메인은 controller, service, repository, entity, dto, exception으로 일관되게 구성
도메인명 |
설명 |
auth |
Rt, OAuth 관리 |
channel |
채널 생성/참여 (1:1 채팅, N:N 채팅) 및 추천 시스템 |
alarm |
알림 관리 |
tuningreport |
튜닝 레포트 관리 |
interests |
사용자 취향 관리 |
user |
사용자 회원가입, 로그인, 프로필 관리 |