멀티 모듈 분석 (2025.12.25 ver.)

멀티 모듈 분석 (2025.12.26 ver.)

멀티 모듈 분석 (2026.01.05 ver.)

멀티 모듈 분석 (2026.01.13 ver.)

멀티 모듈 분석 (2026.01.14 ver.)

├── applications
│   └── api
│       ├── build
│       │   ├── classes
│       │   │   └── java
│       │   │       └── main
│       │   │           └── com
│       │   │               └── mopl
│       │   │                   └── api
│       │   │                       ├── ApiApplication.class
│       │   │                       ├── application
│       │   │                       │   ├── content
│       │   │                       │   │   └── ContentFacade.class
│       │   │                       │   ├── review
│       │   │                       │   │   └── ReviewFacade.class
│       │   │                       │   └── user
│       │   │                       │       ├── FollowFacade.class
│       │   │                       │       └── UserFacade.class
│       │   │                       ├── config
│       │   │                       │   ├── AdminInitializer.class
│       │   │                       │   ├── AdminProperties.class
│       │   │                       │   ├── DomainServiceConfig.class
│       │   │                       │   └── SecurityRegistryImpl.class
│       │   │                       └── interfaces
│       │   │                           └── api
│       │   │                               ├── ApiControllerAdvice.class
│       │   │                               ├── ApiControllerAdvice$FieldErrorDetail.class
│       │   │                               ├── ApiControllerAdvice$GlobalErrorDetail.class
│       │   │                               ├── auth
│       │   │                               │   ├── AuthApiSpec.class
│       │   │                               │   └── AuthController.class
│       │   │                               ├── content
│       │   │                               │   ├── ContentApiSpec.class
│       │   │                               │   ├── ContentController.class
│       │   │                               │   ├── ContentCreateRequest.class
│       │   │                               │   ├── ContentResponse.class
│       │   │                               │   └── ContentResponseMapper.class
│       │   │                               ├── review
│       │   │                               │   ├── ReviewController.class
│       │   │                               │   ├── ReviewCreateRequest.class
│       │   │                               │   ├── ReviewResponse.class
│       │   │                               │   └── ReviewResponseMapper.class
│       │   │                               └── user
│       │   │                                   ├── FollowApiSpec.class
│       │   │                                   ├── FollowController.class
│       │   │                                   ├── FollowRequest.class
│       │   │                                   ├── FollowResponse.class
│       │   │                                   ├── FollowResponseMapper.class
│       │   │                                   ├── UserApiSpec.class
│       │   │                                   ├── UserController.class
│       │   │                                   ├── UserCreateRequest.class
│       │   │                                   ├── UserResponse.class
│       │   │                                   ├── UserResponseMapper.class
│       │   │                                   ├── UserRoleUpdateRequest.class
│       │   │                                   ├── UserSummary.class
│       │   │                                   └── UserSummaryMapper.class
│       │   ├── generated
│       │   │   └── sources
│       │   │       ├── annotationProcessor
│       │   │       │   └── java
│       │   │       │       ├── main
│       │   │       │       └── test
│       │   │       └── headers
│       │   │           └── java
│       │   │               ├── main
│       │   │               └── test
│       │   ├── resources
│       │   │   └── main
│       │   │       ├── application.yaml
│       │   │       └── static
│       │   │           ├── assets
│       │   │           │   ├── il_password-2BUOiZum.svg
│       │   │           │   ├── index-CGco0jMy.css
│       │   │           │   ├── index-DfEnD8Gr.js
│       │   │           │   └── PretendardVariable-CJuje-Rk.woff2
│       │   │           ├── index.html
│       │   │           └── vite.svg
│       │   ├── spotless
│       │   │   └── spotlessJava
│       │   └── tmp
│       │       ├── checkstyleMain
│       │       ├── checkstyleTest
│       │       ├── compileJava
│       │       │   └── previous-compilation-data.bin
│       │       └── test
│       ├── build.gradle.kts
│       ├── out
│       │   └── production
│       │       └── classes
│       │           └── generated
│       └── src
│           ├── main
│           │   ├── generated
│           │   ├── java
│           │   │   └── com
│           │   │       └── mopl
│           │   │           └── api
│           │   │               ├── ApiApplication.java
│           │   │               ├── application
│           │   │               │   ├── content
│           │   │               │   │   └── ContentFacade.java
│           │   │               │   ├── review
│           │   │               │   │   └── ReviewFacade.java
│           │   │               │   └── user
│           │   │               │       ├── FollowFacade.java
│           │   │               │       └── UserFacade.java
│           │   │               ├── config
│           │   │               │   ├── AdminInitializer.java
│           │   │               │   ├── AdminProperties.java
│           │   │               │   ├── DomainServiceConfig.java
│           │   │               │   └── SecurityRegistryImpl.java
│           │   │               └── interfaces
│           │   │                   └── api
│           │   │                       ├── ApiControllerAdvice.java
│           │   │                       ├── auth
│           │   │                       │   ├── AuthApiSpec.java
│           │   │                       │   └── AuthController.java
│           │   │                       ├── content
│           │   │                       │   ├── ContentApiSpec.java
│           │   │                       │   ├── ContentController.java
│           │   │                       │   ├── ContentCreateRequest.java
│           │   │                       │   ├── ContentResponse.java
│           │   │                       │   └── ContentResponseMapper.java
│           │   │                       ├── review
│           │   │                       │   ├── ReviewController.java
│           │   │                       │   ├── ReviewCreateRequest.java
│           │   │                       │   ├── ReviewResponse.java
│           │   │                       │   └── ReviewResponseMapper.java
│           │   │                       └── user
│           │   │                           ├── FollowApiSpec.java
│           │   │                           ├── FollowController.java
│           │   │                           ├── FollowRequest.java
│           │   │                           ├── FollowResponse.java
│           │   │                           ├── FollowResponseMapper.java
│           │   │                           ├── UserApiSpec.java
│           │   │                           ├── UserController.java
│           │   │                           ├── UserCreateRequest.java
│           │   │                           ├── UserResponse.java
│           │   │                           ├── UserResponseMapper.java
│           │   │                           ├── UserRoleUpdateRequest.java
│           │   │                           ├── UserSummary.java
│           │   │                           └── UserSummaryMapper.java
│           │   └── resources
│           │       ├── application.yaml
│           │       └── static
│           │           ├── assets
│           │           │   ├── il_password-2BUOiZum.svg
│           │           │   ├── index-CGco0jMy.css
│           │           │   ├── index-DfEnD8Gr.js
│           │           │   └── PretendardVariable-CJuje-Rk.woff2
│           │           ├── index.html
│           │           └── vite.svg
│           └── test
│               ├── java
│               │   └── com
│               │       └── mopl
│               │           └── api
│               │               ├── application
│               │               │   ├── content
│               │               │   │   └── ContentFacadeTest.java
│               │               │   ├── review
│               │               │   │   └── ReviewFacadeTest.java
│               │               │   └── user
│               │               │       └── UserFacadeTest.java
│               │               ├── config
│               │               │   └── AdminInitializerTest.java
│               │               └── interfaces
│               │                   └── api
│               │                       ├── ApiControllerAdviceTest.java
│               │                       ├── auth
│               │                       │   └── AuthControllerTest.java
│               │                       ├── content
│               │                       │   ├── ContentControllerTest.java
│               │                       │   └── ContentResponseMapperTest.java
│               │                       ├── review
│               │                       │   ├── ReviewControllerTest.java
│               │                       │   └── ReviewResponseMapperTest.java
│               │                       └── user
│               │                           ├── UserControllerTest.java
│               │                           └── UserResponseMapperTest.java
│               └── resources
│                   └── application.yaml
├── build.gradle.kts
├── config
│   ├── checkstyle
│   │   └── google_checks.xml
│   └── eclipse
│       └── eclipse-java-formatter.xml
├── core
│   └── domain
│       ├── build
│       │   ├── classes
│       │   │   └── java
│       │   │       └── main
│       │   │           └── com
│       │   │               └── mopl
│       │   │                   └── domain
│       │   │                       ├── exception
│       │   │                       │   ├── ApiErrorCode.class
│       │   │                       │   ├── auth
│       │   │                       │   │   ├── AccountLockedException.class
│       │   │                       │   │   ├── AuthErrorCode.class
│       │   │                       │   │   ├── AuthException.class
│       │   │                       │   │   ├── InsufficientRoleException.class
│       │   │                       │   │   ├── InvalidCredentialsException.class
│       │   │                       │   │   ├── InvalidTokenException.class
│       │   │                       │   │   └── UnauthorizedException.class
│       │   │                       │   ├── content
│       │   │                       │   │   ├── ContentErrorCode.class
│       │   │                       │   │   ├── ContentException.class
│       │   │                       │   │   ├── ContentNotFoundException.class
│       │   │                       │   │   └── InvalidContentDataException.class
│       │   │                       │   ├── ErrorCode.class
│       │   │                       │   ├── ErrorResponse.class
│       │   │                       │   ├── InternalServerException.class
│       │   │                       │   ├── MoplException.class
│       │   │                       │   ├── review
│       │   │                       │   │   ├── InvalidReviewDataException.class
│       │   │                       │   │   ├── ReviewErrorCode.class
│       │   │                       │   │   └── ReviewException.class
│       │   │                       │   ├── tag
│       │   │                       │   │   ├── InvalidTagDataException.class
│       │   │                       │   │   ├── TagErrorCode.class
│       │   │                       │   │   └── TagException.class
│       │   │                       │   └── user
│       │   │                       │       ├── DuplicateEmailException.class
│       │   │                       │       ├── FollowException.class
│       │   │                       │       ├── InvalidUserDataException.class
│       │   │                       │       ├── SelfFollowException.class
│       │   │                       │       ├── UserErrorCode.class
│       │   │                       │       ├── UserException.class
│       │   │                       │       └── UserNotFoundException.class
│       │   │                       ├── model
│       │   │                       │   ├── base
│       │   │                       │   │   ├── BaseModel.class
│       │   │                       │   │   ├── BaseModel$BaseModelBuilder.class
│       │   │                       │   │   ├── BaseUpdatableModel.class
│       │   │                       │   │   └── BaseUpdatableModel$BaseUpdatableModelBuilder.class
│       │   │                       │   ├── content
│       │   │                       │   │   ├── ContentModel.class
│       │   │                       │   │   ├── ContentModel$ContentModelBuilder.class
│       │   │                       │   │   └── ContentModel$ContentModelBuilderImpl.class
│       │   │                       │   ├── notification
│       │   │                       │   │   └── NotificationLevel.class
│       │   │                       │   ├── review
│       │   │                       │   │   ├── ReviewModel.class
│       │   │                       │   │   ├── ReviewModel$ReviewModelBuilder.class
│       │   │                       │   │   └── ReviewModel$ReviewModelBuilderImpl.class
│       │   │                       │   ├── tag
│       │   │                       │   │   ├── TagModel.class
│       │   │                       │   │   ├── TagModel$TagModelBuilder.class
│       │   │                       │   │   └── TagModel$TagModelBuilderImpl.class
│       │   │                       │   └── user
│       │   │                       │       ├── FollowModel.class
│       │   │                       │       ├── FollowModel$FollowModelBuilder.class
│       │   │                       │       ├── FollowModel$FollowModelBuilderImpl.class
│       │   │                       │       ├── UserModel.class
│       │   │                       │       ├── UserModel$AuthProvider.class
│       │   │                       │       ├── UserModel$Role.class
│       │   │                       │       ├── UserModel$UserModelBuilder.class
│       │   │                       │       └── UserModel$UserModelBuilderImpl.class
│       │   │                       ├── repository
│       │   │                       │   ├── content
│       │   │                       │   │   ├── ContentRepository.class
│       │   │                       │   │   └── ContentTagRepository.class
│       │   │                       │   ├── review
│       │   │                       │   │   └── ReviewRepository.class
│       │   │                       │   ├── tag
│       │   │                       │   │   └── TagRepository.class
│       │   │                       │   └── user
│       │   │                       │       ├── FollowRepository.class
│       │   │                       │       └── UserRepository.class
│       │   │                       └── service
│       │   │                           ├── content
│       │   │                           │   └── ContentService.class
│       │   │                           ├── review
│       │   │                           │   └── ReviewService.class
│       │   │                           ├── tag
│       │   │                           │   └── TagService.class
│       │   │                           └── user
│       │   │                               ├── FollowService.class
│       │   │                               └── UserService.class
│       │   ├── generated
│       │   │   └── sources
│       │   │       ├── annotationProcessor
│       │   │       │   └── java
│       │   │       │       ├── main
│       │   │       │       └── test
│       │   │       └── headers
│       │   │           └── java
│       │   │               ├── main
│       │   │               └── test
│       │   ├── libs
│       │   │   └── domain-0.0.1.jar
│       │   ├── spotless
│       │   │   └── spotlessJava
│       │   └── tmp
│       │       ├── checkstyleMain
│       │       ├── checkstyleTest
│       │       ├── compileJava
│       │       │   └── previous-compilation-data.bin
│       │       ├── jar
│       │       │   └── MANIFEST.MF
│       │       └── test
│       ├── build.gradle.kts
│       ├── out
│       │   └── production
│       │       └── classes
│       │           └── generated
│       └── src
│           ├── main
│           │   ├── generated
│           │   └── java
│           │       └── com
│           │           └── mopl
│           │               └── domain
│           │                   ├── exception
│           │                   │   ├── ApiErrorCode.java
│           │                   │   ├── auth
│           │                   │   │   ├── AccountLockedException.java
│           │                   │   │   ├── AuthErrorCode.java
│           │                   │   │   ├── AuthException.java
│           │                   │   │   ├── InsufficientRoleException.java
│           │                   │   │   ├── InvalidCredentialsException.java
│           │                   │   │   ├── InvalidTokenException.java
│           │                   │   │   └── UnauthorizedException.java
│           │                   │   ├── content
│           │                   │   │   ├── ContentErrorCode.java
│           │                   │   │   ├── ContentException.java
│           │                   │   │   ├── ContentNotFoundException.java
│           │                   │   │   └── InvalidContentDataException.java
│           │                   │   ├── ErrorCode.java
│           │                   │   ├── ErrorResponse.java
│           │                   │   ├── InternalServerException.java
│           │                   │   ├── MoplException.java
│           │                   │   ├── review
│           │                   │   │   ├── InvalidReviewDataException.java
│           │                   │   │   ├── ReviewErrorCode.java
│           │                   │   │   └── ReviewException.java
│           │                   │   ├── tag
│           │                   │   │   ├── InvalidTagDataException.java
│           │                   │   │   ├── TagErrorCode.java
│           │                   │   │   └── TagException.java
│           │                   │   └── user
│           │                   │       ├── DuplicateEmailException.java
│           │                   │       ├── FollowException.java
│           │                   │       ├── InvalidUserDataException.java
│           │                   │       ├── SelfFollowException.java
│           │                   │       ├── UserErrorCode.java
│           │                   │       ├── UserException.java
│           │                   │       └── UserNotFoundException.java
│           │                   ├── model
│           │                   │   ├── base
│           │                   │   │   ├── BaseModel.java
│           │                   │   │   └── BaseUpdatableModel.java
│           │                   │   ├── content
│           │                   │   │   └── ContentModel.java
│           │                   │   ├── notification
│           │                   │   │   └── NotificationLevel.java
│           │                   │   ├── review
│           │                   │   │   └── ReviewModel.java
│           │                   │   ├── tag
│           │                   │   │   └── TagModel.java
│           │                   │   └── user
│           │                   │       ├── FollowModel.java
│           │                   │       └── UserModel.java
│           │                   ├── repository
│           │                   │   ├── content
│           │                   │   │   ├── ContentRepository.java
│           │                   │   │   └── ContentTagRepository.java
│           │                   │   ├── review
│           │                   │   │   └── ReviewRepository.java
│           │                   │   ├── tag
│           │                   │   │   └── TagRepository.java
│           │                   │   └── user
│           │                   │       ├── FollowRepository.java
│           │                   │       └── UserRepository.java
│           │                   └── service
│           │                       ├── content
│           │                       │   └── ContentService.java
│           │                       ├── review
│           │                       │   └── ReviewService.java
│           │                       ├── tag
│           │                       │   └── TagService.java
│           │                       └── user
│           │                           ├── FollowService.java
│           │                           └── UserService.java
│           └── test
│               └── java
│                   └── com
│                       └── mopl
│                           └── domain
│                               ├── model
│                               │   ├── base
│                               │   │   ├── BaseModelTest.java
│                               │   │   └── BaseUpdatableModelTest.java
│                               │   ├── content
│                               │   │   └── ContentModelTest.java
│                               │   ├── review
│                               │   │   └── ReviewModelTest.java
│                               │   ├── tag
│                               │   │   └── TagModelTest.java
│                               │   └── user
│                               │       └── UserModelTest.java
│                               └── service
│                                   ├── content
│                                   │   └── ContentServiceTest.java
│                                   ├── review
│                                   │   └── ReviewServiceTest.java
│                                   ├── tag
│                                   │   └── TagServiceTest.java
│                                   └── user
│                                       ├── FollowServiceTest.java
│                                       └── UserServiceTest.java
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── infrastructure
│   ├── jpa
│   │   ├── build
│   │   │   ├── classes
│   │   │   │   └── java
│   │   │   │       └── main
│   │   │   │           └── com
│   │   │   │               └── mopl
│   │   │   │                   └── jpa
│   │   │   │                       ├── config
│   │   │   │                       │   ├── JpaConfig.class
│   │   │   │                       │   └── QuerydslConfig.class
│   │   │   │                       ├── entity
│   │   │   │                       │   ├── base
│   │   │   │                       │   │   ├── BaseEntity.class
│   │   │   │                       │   │   ├── BaseEntity$BaseEntityBuilder.class
│   │   │   │                       │   │   ├── BaseUpdatableEntity.class
│   │   │   │                       │   │   ├── BaseUpdatableEntity$BaseUpdatableEntityBuilder.class
│   │   │   │                       │   │   ├── QBaseEntity.class
│   │   │   │                       │   │   ├── QBaseUpdatableEntity.class
│   │   │   │                       │   │   ├── UuidV7.class
│   │   │   │                       │   │   └── UuidV7Generator.class
│   │   │   │                       │   ├── content
│   │   │   │                       │   │   ├── ContentEntity.class
│   │   │   │                       │   │   ├── ContentEntity$ContentEntityBuilder.class
│   │   │   │                       │   │   ├── ContentEntity$ContentEntityBuilderImpl.class
│   │   │   │                       │   │   ├── ContentEntityMapper.class
│   │   │   │                       │   │   ├── ContentTagEntity.class
│   │   │   │                       │   │   ├── ContentTagEntity$ContentTagEntityBuilder.class
│   │   │   │                       │   │   ├── ContentTagEntity$ContentTagEntityBuilderImpl.class
│   │   │   │                       │   │   ├── QContentEntity.class
│   │   │   │                       │   │   └── QContentTagEntity.class
│   │   │   │                       │   ├── conversation
│   │   │   │                       │   │   ├── ConversationEntity.class
│   │   │   │                       │   │   ├── ConversationEntity$ConversationEntityBuilder.class
│   │   │   │                       │   │   ├── ConversationEntity$ConversationEntityBuilderImpl.class
│   │   │   │                       │   │   ├── DirectMessageEntity.class
│   │   │   │                       │   │   ├── DirectMessageEntity$DirectMessageEntityBuilder.class
│   │   │   │                       │   │   ├── DirectMessageEntity$DirectMessageEntityBuilderImpl.class
│   │   │   │                       │   │   ├── QConversationEntity.class
│   │   │   │                       │   │   ├── QDirectMessageEntity.class
│   │   │   │                       │   │   ├── QReadStatusEntity.class
│   │   │   │                       │   │   ├── ReadStatusEntity.class
│   │   │   │                       │   │   ├── ReadStatusEntity$ReadStatusEntityBuilder.class
│   │   │   │                       │   │   └── ReadStatusEntity$ReadStatusEntityBuilderImpl.class
│   │   │   │                       │   ├── notification
│   │   │   │                       │   │   ├── NotificationEntity.class
│   │   │   │                       │   │   ├── NotificationEntity$NotificationEntityBuilder.class
│   │   │   │                       │   │   ├── NotificationEntity$NotificationEntityBuilderImpl.class
│   │   │   │                       │   │   └── QNotificationEntity.class
│   │   │   │                       │   ├── playlist
│   │   │   │                       │   │   ├── PlaylistContentEntity.class
│   │   │   │                       │   │   ├── PlaylistContentEntity$PlaylistContentEntityBuilder.class
│   │   │   │                       │   │   ├── PlaylistContentEntity$PlaylistContentEntityBuilderImpl.class
│   │   │   │                       │   │   ├── PlaylistEntity.class
│   │   │   │                       │   │   ├── PlaylistEntity$PlaylistEntityBuilder.class
│   │   │   │                       │   │   ├── PlaylistEntity$PlaylistEntityBuilderImpl.class
│   │   │   │                       │   │   ├── PlaylistSubscriberEntity.class
│   │   │   │                       │   │   ├── PlaylistSubscriberEntity$PlaylistSubscriberEntityBuilder.class
│   │   │   │                       │   │   ├── PlaylistSubscriberEntity$PlaylistSubscriberEntityBuilderImpl.class
│   │   │   │                       │   │   ├── QPlaylistContentEntity.class
│   │   │   │                       │   │   ├── QPlaylistEntity.class
│   │   │   │                       │   │   └── QPlaylistSubscriberEntity.class
│   │   │   │                       │   ├── review
│   │   │   │                       │   │   ├── QReviewEntity.class
│   │   │   │                       │   │   ├── ReviewEntity.class
│   │   │   │                       │   │   ├── ReviewEntity$ReviewEntityBuilder.class
│   │   │   │                       │   │   ├── ReviewEntity$ReviewEntityBuilderImpl.class
│   │   │   │                       │   │   └── ReviewEntityMapper.class
│   │   │   │                       │   ├── tag
│   │   │   │                       │   │   ├── QTagEntity.class
│   │   │   │                       │   │   ├── TagEntity.class
│   │   │   │                       │   │   ├── TagEntity$TagEntityBuilder.class
│   │   │   │                       │   │   ├── TagEntity$TagEntityBuilderImpl.class
│   │   │   │                       │   │   └── TagEntityMapper.class
│   │   │   │                       │   └── user
│   │   │   │                       │       ├── FollowEntity.class
│   │   │   │                       │       ├── FollowEntity$FollowEntityBuilder.class
│   │   │   │                       │       ├── FollowEntity$FollowEntityBuilderImpl.class
│   │   │   │                       │       ├── FollowEntityMapper.class
│   │   │   │                       │       ├── QFollowEntity.class
│   │   │   │                       │       ├── QUserEntity.class
│   │   │   │                       │       ├── UserEntity.class
│   │   │   │                       │       ├── UserEntity$UserEntityBuilder.class
│   │   │   │                       │       ├── UserEntity$UserEntityBuilderImpl.class
│   │   │   │                       │       └── UserEntityMapper.class
│   │   │   │                       └── repository
│   │   │   │                           ├── content
│   │   │   │                           │   ├── ContentRepositoryImpl.class
│   │   │   │                           │   ├── ContentTagRepositoryImpl.class
│   │   │   │                           │   ├── JpaContentRepository.class
│   │   │   │                           │   └── JpaContentTagRepository.class
│   │   │   │                           ├── conversation
│   │   │   │                           │   ├── ConversationRepositoryImpl.class
│   │   │   │                           │   └── JpaConversationRepository.class
│   │   │   │                           ├── review
│   │   │   │                           │   ├── JpaReviewRepository.class
│   │   │   │                           │   └── ReviewRepositoryImpl.class
│   │   │   │                           ├── tag
│   │   │   │                           │   ├── JpaTagRepository.class
│   │   │   │                           │   └── TagRepositoryImpl.class
│   │   │   │                           └── user
│   │   │   │                               ├── FollowRepositoryImpl.class
│   │   │   │                               ├── JpaFollowRepository.class
│   │   │   │                               ├── JpaUserRepository.class
│   │   │   │                               └── UserRepositoryImpl.class
│   │   │   ├── generated
│   │   │   │   └── sources
│   │   │   │       ├── annotationProcessor
│   │   │   │       │   └── java
│   │   │   │       │       ├── main
│   │   │   │       │       │   └── com
│   │   │   │       │       │       └── mopl
│   │   │   │       │       │           └── jpa
│   │   │   │       │       │               └── entity
│   │   │   │       │       │                   ├── base
│   │   │   │       │       │                   │   ├── QBaseEntity.java
│   │   │   │       │       │                   │   └── QBaseUpdatableEntity.java
│   │   │   │       │       │                   ├── content
│   │   │   │       │       │                   │   ├── QContentEntity.java
│   │   │   │       │       │                   │   └── QContentTagEntity.java
│   │   │   │       │       │                   ├── conversation
│   │   │   │       │       │                   │   ├── QConversationEntity.java
│   │   │   │       │       │                   │   ├── QDirectMessageEntity.java
│   │   │   │       │       │                   │   └── QReadStatusEntity.java
│   │   │   │       │       │                   ├── notification
│   │   │   │       │       │                   │   └── QNotificationEntity.java
│   │   │   │       │       │                   ├── playlist
│   │   │   │       │       │                   │   ├── QPlaylistContentEntity.java
│   │   │   │       │       │                   │   ├── QPlaylistEntity.java
│   │   │   │       │       │                   │   └── QPlaylistSubscriberEntity.java
│   │   │   │       │       │                   ├── review
│   │   │   │       │       │                   │   └── QReviewEntity.java
│   │   │   │       │       │                   ├── tag
│   │   │   │       │       │                   │   └── QTagEntity.java
│   │   │   │       │       │                   └── user
│   │   │   │       │       │                       ├── QFollowEntity.java
│   │   │   │       │       │                       └── QUserEntity.java
│   │   │   │       │       └── test
│   │   │   │       └── headers
│   │   │   │           └── java
│   │   │   │               ├── main
│   │   │   │               └── test
│   │   │   ├── libs
│   │   │   │   └── jpa-0.0.1.jar
│   │   │   ├── resources
│   │   │   │   └── main
│   │   │   │       └── jpa.yaml
│   │   │   ├── spotless
│   │   │   │   └── spotlessJava
│   │   │   └── tmp
│   │   │       ├── checkstyleMain
│   │   │       ├── checkstyleTest
│   │   │       ├── compileJava
│   │   │       │   └── previous-compilation-data.bin
│   │   │       ├── jar
│   │   │       │   └── MANIFEST.MF
│   │   │       └── test
│   │   ├── build.gradle.kts
│   │   ├── out
│   │   │   └── production
│   │   │       └── classes
│   │   │           └── generated
│   │   └── src
│   │       ├── main
│   │       │   ├── java
│   │       │   │   └── com
│   │       │   │       └── mopl
│   │       │   │           └── jpa
│   │       │   │               ├── config
│   │       │   │               │   ├── JpaConfig.java
│   │       │   │               │   └── QuerydslConfig.java
│   │       │   │               ├── entity
│   │       │   │               │   ├── base
│   │       │   │               │   │   ├── BaseEntity.java
│   │       │   │               │   │   ├── BaseUpdatableEntity.java
│   │       │   │               │   │   ├── UuidV7.java
│   │       │   │               │   │   └── UuidV7Generator.java
│   │       │   │               │   ├── content
│   │       │   │               │   │   ├── ContentEntity.java
│   │       │   │               │   │   ├── ContentEntityMapper.java
│   │       │   │               │   │   └── ContentTagEntity.java
│   │       │   │               │   ├── conversation
│   │       │   │               │   │   ├── ConversationEntity.java
│   │       │   │               │   │   ├── DirectMessageEntity.java
│   │       │   │               │   │   └── ReadStatusEntity.java
│   │       │   │               │   ├── notification
│   │       │   │               │   │   └── NotificationEntity.java
│   │       │   │               │   ├── playlist
│   │       │   │               │   │   ├── PlaylistContentEntity.java
│   │       │   │               │   │   ├── PlaylistEntity.java
│   │       │   │               │   │   └── PlaylistSubscriberEntity.java
│   │       │   │               │   ├── review
│   │       │   │               │   │   ├── ReviewEntity.java
│   │       │   │               │   │   └── ReviewEntityMapper.java
│   │       │   │               │   ├── tag
│   │       │   │               │   │   ├── TagEntity.java
│   │       │   │               │   │   └── TagEntityMapper.java
│   │       │   │               │   └── user
│   │       │   │               │       ├── FollowEntity.java
│   │       │   │               │       ├── FollowEntityMapper.java
│   │       │   │               │       ├── UserEntity.java
│   │       │   │               │       └── UserEntityMapper.java
│   │       │   │               └── repository
│   │       │   │                   ├── content
│   │       │   │                   │   ├── ContentRepositoryImpl.java
│   │       │   │                   │   ├── ContentTagRepositoryImpl.java
│   │       │   │                   │   ├── JpaContentRepository.java
│   │       │   │                   │   └── JpaContentTagRepository.java
│   │       │   │                   ├── conversation
│   │       │   │                   │   ├── ConversationRepositoryImpl.java
│   │       │   │                   │   └── JpaConversationRepository.java
│   │       │   │                   ├── review
│   │       │   │                   │   ├── JpaReviewRepository.java
│   │       │   │                   │   └── ReviewRepositoryImpl.java
│   │       │   │                   ├── tag
│   │       │   │                   │   ├── JpaTagRepository.java
│   │       │   │                   │   └── TagRepositoryImpl.java
│   │       │   │                   └── user
│   │       │   │                       ├── FollowRepositoryImpl.java
│   │       │   │                       ├── JpaFollowRepository.java
│   │       │   │                       ├── JpaUserRepository.java
│   │       │   │                       └── UserRepositoryImpl.java
│   │       │   └── resources
│   │       │       └── jpa.yaml
│   │       └── test
│   │           └── java
│   │               └── com
│   │                   └── mopl
│   │                       └── jpa
│   │                           ├── entity
│   │                           │   ├── base
│   │                           │   │   ├── BaseEntityTest.java
│   │                           │   │   ├── BaseUpdatableEntityTest.java
│   │                           │   │   └── UuidV7GeneratorTest.java
│   │                           │   ├── content
│   │                           │   │   └── ContentEntityMapperTest.java
│   │                           │   ├── review
│   │                           │   │   └── ReviewEntityMapperTest.java
│   │                           │   ├── tag
│   │                           │   │   └── TagEntityMapperTest.java
│   │                           │   └── user
│   │                           │       ├── UserEntityMapperTest.java
│   │                           │       └── UserEntityTest.java
│   │                           ├── JpaTestApplication.java
│   │                           └── repository
│   │                               ├── content
│   │                               │   ├── ContentRepositoryImplTest.java
│   │                               │   └── ContentTagRepositoryImplTest.java
│   │                               ├── tag
│   │                               │   └── TagRepositoryImplTest.java
│   │                               └── user
│   │                                   └── UserRepositoryImplTest.java
│   ├── kafka
│   │   ├── build.gradle.kts
│   │   └── src
│   │       └── main
│   │           └── java
│   │               └── com
│   │                   └── mopl
│   │                       └── kafka
│   │                           └── config
│   │                               └── KafkaConfig.java
│   ├── openapi
│   │   ├── build.gradle.kts
│   │   └── src
│   │       └── main
│   │           └── java
│   │               └── com
│   │                   └── mopl
│   │                       └── external
│   │                           └── config
│   │                               └── WebClientConfig.java
│   ├── redis
│   │   ├── build.gradle.kts
│   │   └── src
│   │       └── main
│   │           └── java
│   │               └── com
│   │                   └── mopl
│   │                       └── redis
│   │                           └── config
│   │                               └── RedisConfig.java
│   └── security
│       ├── build
│       │   ├── classes
│       │   │   └── java
│       │   │       └── main
│       │   │           └── com
│       │   │               └── mopl
│       │   │                   └── security
│       │   │                       ├── authentication
│       │   │                       │   └── handler
│       │   │                       │       ├── SignInFailureHandler.class
│       │   │                       │       ├── SignInSuccessHandler.class
│       │   │                       │       ├── SignInSuccessHandler$JwtResponse.class
│       │   │                       │       ├── SignInSuccessHandler$JwtResponse$UserDetailsDto.class
│       │   │                       │       └── SignOutHandler.class
│       │   │                       ├── config
│       │   │                       │   ├── JwtProperties.class
│       │   │                       │   ├── JwtProperties$Config.class
│       │   │                       │   ├── JwtProperties$JwtRegistryType.class
│       │   │                       │   ├── SecurityAutoConfig.class
│       │   │                       │   ├── SecurityBeanConfig.class
│       │   │                       │   └── SecurityRegistry.class
│       │   │                       ├── csrf
│       │   │                       │   └── SpaCsrfTokenRequestHandler.class
│       │   │                       ├── exception
│       │   │                       │   ├── AccessDeniedExceptionHandler.class
│       │   │                       │   ├── ApiResponseHandler.class
│       │   │                       │   └── UnauthorizedEntryPoint.class
│       │   │                       ├── jwt
│       │   │                       │   ├── filter
│       │   │                       │   │   └── JwtAuthenticationFilter.class
│       │   │                       │   ├── provider
│       │   │                       │   │   ├── JwtCookieProvider.class
│       │   │                       │   │   ├── JwtInformation.class
│       │   │                       │   │   ├── JwtPayload.class
│       │   │                       │   │   ├── JwtProvider.class
│       │   │                       │   │   ├── JwtProvider$IssuedToken.class
│       │   │                       │   │   └── TokenType.class
│       │   │                       │   └── registry
│       │   │                       │       ├── InMemoryJwtRegistry.class
│       │   │                       │       └── JwtRegistry.class
│       │   │                       └── userdetails
│       │   │                           ├── MoplUserDetails.class
│       │   │                           ├── MoplUserDetails$MoplUserDetailsBuilder.class
│       │   │                           └── MoplUserDetailsService.class
│       │   ├── generated
│       │   │   └── sources
│       │   │       ├── annotationProcessor
│       │   │       │   └── java
│       │   │       │       └── main
│       │   │       └── headers
│       │   │           └── java
│       │   │               └── main
│       │   ├── libs
│       │   │   └── security-0.0.1.jar
│       │   ├── resources
│       │   │   └── main
│       │   │       ├── META-INF
│       │   │       │   └── spring
│       │   │       │       └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│       │   │       └── security.yaml
│       │   ├── spotless
│       │   │   └── spotlessJava
│       │   └── tmp
│       │       ├── checkstyleMain
│       │       ├── compileJava
│       │       │   └── previous-compilation-data.bin
│       │       └── jar
│       │           └── MANIFEST.MF
│       ├── build.gradle.kts
│       ├── out
│       │   └── production
│       │       └── classes
│       │           └── generated
│       └── src
│           ├── main
│           │   ├── generated
│           │   ├── java
│           │   │   └── com
│           │   │       └── mopl
│           │   │           └── security
│           │   │               ├── authentication
│           │   │               │   └── handler
│           │   │               │       ├── SignInFailureHandler.java
│           │   │               │       ├── SignInSuccessHandler.java
│           │   │               │       └── SignOutHandler.java
│           │   │               ├── config
│           │   │               │   ├── JwtProperties.java
│           │   │               │   ├── SecurityAutoConfig.java
│           │   │               │   ├── SecurityBeanConfig.java
│           │   │               │   └── SecurityRegistry.java
│           │   │               ├── csrf
│           │   │               │   └── SpaCsrfTokenRequestHandler.java
│           │   │               ├── exception
│           │   │               │   ├── AccessDeniedExceptionHandler.java
│           │   │               │   ├── ApiResponseHandler.java
│           │   │               │   └── UnauthorizedEntryPoint.java
│           │   │               ├── jwt
│           │   │               │   ├── filter
│           │   │               │   │   └── JwtAuthenticationFilter.java
│           │   │               │   ├── provider
│           │   │               │   │   ├── JwtCookieProvider.java
│           │   │               │   │   ├── JwtInformation.java
│           │   │               │   │   ├── JwtPayload.java
│           │   │               │   │   ├── JwtProvider.java
│           │   │               │   │   └── TokenType.java
│           │   │               │   └── registry
│           │   │               │       ├── InMemoryJwtRegistry.java
│           │   │               │       └── JwtRegistry.java
│           │   │               └── userdetails
│           │   │                   ├── MoplUserDetails.java
│           │   │                   └── MoplUserDetailsService.java
│           │   └── resources
│           │       ├── META-INF
│           │       │   └── spring
│           │       │       └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│           │       └── security.yaml
│           └── test
│               └── java
│                   └── com
│                       └── mopl
│                           └── security
├── README.md
├── settings.gradle.kts
└── shared
    ├── jackson
    │   ├── build
    │   │   ├── classes
    │   │   │   └── java
    │   │   │       └── main
    │   │   │           └── com
    │   │   │               └── mopl
    │   │   │                   └── jackson
    │   │   │                       └── config
    │   │   │                           └── JacksonConfig.class
    │   │   ├── generated
    │   │   │   └── sources
    │   │   │       ├── annotationProcessor
    │   │   │       │   └── java
    │   │   │       │       └── main
    │   │   │       └── headers
    │   │   │           └── java
    │   │   │               └── main
    │   │   ├── libs
    │   │   │   └── jackson-0.0.1.jar
    │   │   ├── resources
    │   │   │   └── main
    │   │   │       └── META-INF
    │   │   │           └── spring
    │   │   │               └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
    │   │   ├── spotless
    │   │   │   └── spotlessJava
    │   │   └── tmp
    │   │       ├── checkstyleMain
    │   │       ├── compileJava
    │   │       │   └── previous-compilation-data.bin
    │   │       └── jar
    │   │           └── MANIFEST.MF
    │   ├── build.gradle.kts
    │   ├── out
    │   │   └── production
    │   │       └── classes
    │   │           └── generated
    │   └── src
    │       └── main
    │           ├── generated
    │           ├── java
    │           │   └── com
    │           │       └── mopl
    │           │           └── jackson
    │           │               └── config
    │           │                   └── JacksonConfig.java
    │           └── resources
    │               └── META-INF
    │                   └── spring
    │                       └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
    └── monitoring
        ├── build.gradle.kts
        └── src
            └── main
                └── java
                    └── com
                        └── mopl
                            └── monitoring
                                └── interceptor
                                    └── MDCLoggingInterceptor.java