Skip to content

feat/#60-playground: 커피솝 및 팝업, 끝말잇기 기능 이관 - #82

Open
yxinot wants to merge 19 commits into
developfrom
feat/#60
Open

feat/#60-playground: 커피솝 및 팝업, 끝말잇기 기능 이관#82
yxinot wants to merge 19 commits into
developfrom
feat/#60

Conversation

@yxinot

@yxinot yxinot commented Aug 31, 2026

Copy link
Copy Markdown
Member

Related Issue 🚀

Work Description ✏️

  1. 팝업(popup) 기능 이관
  • domain-playground: Popup 도메인 모델, PopupRepositoryPort, PopupService 구현
  • storage: PopupEntity, PopupJpaRepository, PopupRepositoryAdapter 구현
  • api: PopupController, 요청/응답 DTO 구현
  1. 끝말잇기(wordchaingame) 기능 이관
  • domain-playground: Word, WordChainGameRoom, WordChainGameWinner 도메인 모델, Port 4개, WordChainGameService 구현
  • domain-user: PlaygroundWordChainGameUserPort / PlaygroundWordChainGameUserAdapter 추가
  • clients: DictionaryAdapter, DictionaryProperty 구현 (사전 API 연동)
  • storage: JPA 엔티티 3개, JPA 레포지토리, QueryDSL 레포지토리, 어댑터 3개 구현
  • api: WordChainGameController, 요청/응답 DTO 구현
  1. 커피챗(coffeechat) 기능 이관
  • domain-playground: CoffeeChat, CoffeeChatHistory, CoffeeChatReview 도메인 모델, Port 7개, enum, CoffeeChatService 구현
  • domain-user: PlaygroundCoffeeChatUserPort / PlaygroundCoffeeChatUserAdapter, UserCareerRepositoryPort 추가
    - clients: CoffeeChatSmsAdapter 구현 (SMS 발송 연동)
  • storage: JPA 엔티티 4개, JPA 레포지토리, QueryDSL 레포지토리, 어댑터 4개, 리스트 컨버터 2개, Redis 캐시 어댑터 구현
  • api: CoffeeChatController, 요청/응답 DTO 구현

PR Point 📸

@yxinot yxinot self-assigned this Aug 31, 2026
@yxinot yxinot added 🎁 feature 새로운 기능을 개발하거나 추가, 변경할 경우 🩵 playground labels Aug 31, 2026
@yxinot yxinot linked an issue Aug 31, 2026 that may be closed by this pull request
3 tasks
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 115 files, which is 15 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f958dd37-7ff7-4256-8796-f6049d7429bf

📥 Commits

Reviewing files that changed from the base of the PR and between f6a7cbf and 3bed379.

📒 Files selected for processing (115)
  • api/src/main/java/org/sopt/makers/api/common/exception/CommonException.java
  • api/src/main/java/org/sopt/makers/api/common/exception/CommonFailureCode.java
  • api/src/main/java/org/sopt/makers/api/common/security/AdminKeyValidator.java
  • api/src/main/java/org/sopt/makers/api/common/security/SecurityConstant.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/CoffeeChatApi.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/CoffeeChatController.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/CoffeeChatSuccessCode.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatDetailResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatDetailsRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatHistoryItemResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatHistoryTitleResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatListResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatOpenRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatReviewInfoResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatReviewListResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatReviewRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/CoffeeChatVoResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/coffeechat/dto/RandomCoffeeChatResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/popup/PopupApi.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/popup/PopupController.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/popup/PopupSuccessCode.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/popup/dto/PopupRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/popup/dto/PopupResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/WordChainGameApi.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/WordChainGameController.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/WordChainGameSuccessCode.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/UserResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameAllResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameGenerateRequest.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameGenerateResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameRoomResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameWinnerAllResponse.java
  • api/src/main/java/org/sopt/makers/api/controller/playground/wordchaingame/dto/WordChainGameWinnerResponse.java
  • api/src/main/resources/application.yml
  • api/src/main/resources/db/migration/V2__create_playground_schema.sql
  • api/src/main/resources/external.yml
  • clients/build.gradle.kts
  • clients/src/main/java/org/sopt/makers/clients/config/ClientsConfig.java
  • clients/src/main/java/org/sopt/makers/clients/dictionary/DictionaryAdapter.java
  • clients/src/main/java/org/sopt/makers/clients/dictionary/DictionaryProperty.java
  • clients/src/main/java/org/sopt/makers/clients/sms/CoffeeChatSmsAdapter.java
  • domain/domain-playground/build.gradle.kts
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/CoffeeChat.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/CoffeeChatHistory.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/CoffeeChatReview.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/adapter/CoffeeChatUserAdapter.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/enums/Career.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/enums/ChatCategory.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/enums/CoffeeChatSection.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/enums/CoffeeChatTopicType.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/enums/MeetingType.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/exception/CoffeeChatException.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/exception/CoffeeChatFailure.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/AnonymousProfileImagePort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatCachePort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatHistoryRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatReviewRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatSmsPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/port/CoffeeChatUserPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/coffeechat/service/CoffeeChatService.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/popup/Popup.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/popup/exception/PopupException.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/popup/exception/PopupFailure.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/popup/port/PopupRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/popup/service/PopupService.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/Word.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/WordChainGameRoom.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/WordChainGameWinner.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/adapter/WordChainGameUserAdapter.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/exception/WordChainGameException.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/exception/WordChainGameFailure.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/port/DictionaryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/port/WordChainGameRoomRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/port/WordChainGameUserPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/port/WordChainGameWinnerRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/port/WordRepositoryPort.java
  • domain/domain-playground/src/main/java/org/sopt/makers/domain/playground/wordchaingame/service/WordChainGameService.java
  • domain/domain-user/src/main/java/org/sopt/makers/domain/user/adapter/PlaygroundCoffeeChatUserAdapter.java
  • domain/domain-user/src/main/java/org/sopt/makers/domain/user/adapter/PlaygroundWordChainGameUserAdapter.java
  • domain/domain-user/src/main/java/org/sopt/makers/domain/user/port/PlaygroundCoffeeChatUserPort.java
  • domain/domain-user/src/main/java/org/sopt/makers/domain/user/port/PlaygroundWordChainGameUserPort.java
  • domain/domain-user/src/main/java/org/sopt/makers/domain/user/port/UserCareerRepositoryPort.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/adapter/AnonymousProfileImageAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/adapter/CoffeeChatHistoryRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/adapter/CoffeeChatRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/adapter/CoffeeChatReviewRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/converter/CoffeeChatSectionListConverter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/converter/CoffeeChatTopicTypeListConverter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/entity/AnonymousProfileImageEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/entity/CoffeeChatEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/entity/CoffeeChatHistoryEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/entity/CoffeeChatReviewEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/repository/AnonymousProfileImageJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/repository/CoffeeChatHistoryJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/repository/CoffeeChatJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/repository/CoffeeChatQueryRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/coffeechat/repository/CoffeeChatReviewJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/popup/adapter/PopupRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/popup/entity/PopupEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/popup/repository/PopupJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/adapter/WordChainGameRoomRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/adapter/WordChainGameWinnerRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/adapter/WordRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/entity/WordChainGameRoomEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/entity/WordChainGameWinnerEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/entity/WordEntity.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/repository/WordChainGameQueryRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/repository/WordChainGameRoomJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/repository/WordChainGameWinnerJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/playground/wordchaingame/repository/WordJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/db/user/adapter/UserCareerRepositoryAdapter.java
  • storage/src/main/java/org/sopt/makers/storage/db/user/repository/UserCareerJpaRepository.java
  • storage/src/main/java/org/sopt/makers/storage/redis/coffeechat/adapter/CoffeeChatCacheAdapter.java

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎁 feature 새로운 기능을 개발하거나 추가, 변경할 경우 🩵 playground

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat-playground: 플그 커피챗, 끝말잇기, 팝업 기능 이관

1 participant