2026.01.13 ver. (Current Structure)
.github
- ISSUE_TEMPLATE: 기능 요청, 버그 리포트 등 이슈 양식.
- workflows: CI/CD 파이프라인 (Jira 연동, PR 리뷰 요청 등).
- maps: jira-user-map, slack-user-map (알림 연동용 매핑 파일).
applications
- api (Main Web Server)
- application (Facade): 트랜잭션 관리 및 도메인 서비스 조율 (Content, Review, User 등).
- config: Admin 초기화 등 애플리케이션 전용 설정.
- interfaces - api (Presentation): Controller, DTO, Mapper, Swagger Spec.
- sse (Notification Server) [NEW]
- application: SSE Facade.
- interfaces: SSE Controller (알림 구독/전송).
- repository:
EmitterRepository (SseEmitter 저장소).
- service: 알림 발송 로직.
config
- checkstyle
- eclipse (Code Formatter)
core
- domain (Pure Java Business Logic)
- exception: 도메인별 예외 정의 (ErrorCode).
- model: 비즈니스 객체 (Builder 패턴 적용, POJO).
- repository: 저장소 인터페이스 (Port).
- service: 순수 비즈니스 로직.
- support: Cursor 페이징 등 공통 도메인 유틸리티.
- testFixtures [NEW]:
FixtureMonkey를 이용한 테스트용 객체 생성 도구 모음.
infrastructure (구현체 Layer)
- jpa (Database)
- config: JPA, QueryDSL 설정.
- entity: DB 테이블 매핑 엔티티 & Mapper.
- repository: Core Repository 구현체 (JPA + QueryDSL).
- kafka [NEW]
- openapi (External API)
- config:
WebClient 설정 (외부 통신).
- redis [NEW]
- security (Auth)
- authentication: 로그인 성공/실패 핸들러.
- config: SecurityFilterChain, JWT 설정.
- jwt: 토큰 발급/검증 로직 (Provider, Filter).
- userdetails:
MoplUserDetails 구현.
- storage (File)
- provider:
LocalFileStorageProvider (파일 업로드 구현).