Skip to content

Conversation

@JVHE
Copy link
Collaborator

@JVHE JVHE commented Nov 28, 2025

Reverts #95

Summary by CodeRabbit

릴리스 노트

  • Chores
    • Redis 모듈을 의존성으로 활성화했습니다.
    • Docker 구성에서 Redis 및 Kafka 서비스를 다시 활성화했습니다.
    • Gradle 빌드 설정에서 commerce-streamer, redis, kafka 모듈을 활성화했습니다.
    • Redis 구성 파일을 애플리케이션 설정에 포함했습니다.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 28, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

대규모 도메인 계층, 서비스 계층, 인프라 계층, API 인터페이스 계층, 관련 테스트 파일들이 삭제되고, Redis와 Kafka 모듈이 활성화되며 Docker 구성이 업데이트됩니다. 기존 동기식 아키텍처에서 이벤트 기반 구조로의 전환을 시사합니다.

Changes

Cohort / 파일(들) 변경 요약
도메인 엔티티 삭제
apps/commerce-api/src/main/java/com/loopers/domain/brand/Brand.java, BrandRepository.java, BrandService.java
Brand 엔티티, 리포지토리 인터페이스, 서비스 클래스 삭제
apps/commerce-api/src/main/java/com/loopers/domain/product/Product.java, ProductRepository.java, ProductService.java
apps/commerce-api/src/main/java/com/loopers/domain/user/User.java, UserRepository.java, UserService.java
apps/commerce-api/src/main/java/com/loopers/domain/order/Order.java, OrderItem.java, OrderRepository.java, OrderService.java
apps/commerce-api/src/main/java/com/loopers/domain/point/Point.java, PointRepository.java, PointService.java
apps/commerce-api/src/main/java/com/loopers/domain/like/product/LikeProduct.java, LikeProductRepository.java, LikeProductService.java
apps/commerce-api/src/main/java/com/loopers/domain/metrics/product/ProductMetrics.java, ProductMetricsRepository.java, ProductMetricsService.java
apps/commerce-api/src/main/java/com/loopers/domain/supply/Supply.java, SupplyRepository.java, SupplyService.java
apps/commerce-api/src/main/java/com/loopers/domain/common/vo/Price.java, apps/commerce-api/src/main/java/com/loopers/domain/supply/vo/Stock.java
애플리케이션 계층 Facade 삭제
apps/commerce-api/src/main/java/com/loopers/application/order/OrderFacade.java, OrderInfo.java, OrderItemInfo.java, OrderItemRequest.java, OrderRequest.java
Order 관련 Facade 및 DTO 클래스 삭제
apps/commerce-api/src/main/java/com/loopers/application/product/ProductFacade.java, ProductInfo.java
apps/commerce-api/src/main/java/com/loopers/application/like/product/LikeProductFacade.java, LikeProductInfo.java
apps/commerce-api/src/main/java/com/loopers/application/point/PointFacade.java
apps/commerce-api/src/main/java/com/loopers/application/user/UserFacade.java, UserInfo.java
인프라 계층 Repository 구현 삭제
apps/commerce-api/src/main/java/com/loopers/infrastructure/brand/*, product/*, user/*, order/*, point/*, like/*, metrics/product/*, supply/*
모든 JPA Repository 인터페이스 및 구현 클래스 삭제
API 인터페이스 및 컨트롤러 삭제
apps/commerce-api/src/main/java/com/loopers/interfaces/api/order/OrderV1*.java
Order API 스펙, 컨트롤러, DTO 삭제
apps/commerce-api/src/main/java/com/loopers/interfaces/api/product/ProductV1*.java
apps/commerce-api/src/main/java/com/loopers/interfaces/api/like/product/LikeProductV1*.java
apps/commerce-api/src/main/java/com/loopers/interfaces/api/point/PointV1*.java
apps/commerce-api/src/main/java/com/loopers/interfaces/api/user/UserV1*.java
테스트 파일 삭제
apps/commerce-api/src/test/java/com/loopers/domain/brand/BrandTest.java, common/vo/PriceTest.java, like/product/LikeProduct*.java, order/Order*.java, point/Point*.java, product/ProductServiceIntegrationTest.java, supply/Supply*.java, user/User*.java
단위 및 통합 테스트 파일 삭제
apps/commerce-api/src/test/java/com/loopers/interfaces/api/*V1ApiE2ETest.java
빌드 및 인프라 설정 변경
apps/commerce-api/build.gradle.kts
Redis 모듈 의존성 활성화 (주석 제거)
settings.gradle.kts
apps/commerce-api/src/main/resources/application.yml
docker/infra-compose.yml
기타
apps/commerce-api/src/main/java/com/loopers/CommerceApiApplication.java
EnableJpaRepositories import 제거

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120+ minutes

특별히 주의가 필요한 영역:

  • 아키텍처 영향 범위: 도메인 엔티티, 서비스, 리포지토리, 컨트롤러 등 대규모 계층 삭제로 인한 의존성 추적 필요
  • 이벤트 기반 구조 전환: Redis/Kafka 활성화와 기존 동기식 API 제거의 관계 검증
  • 데이터 마이그레이션: 삭제되는 도메인 모델(Order, Point, LikeProduct 등)에 대한 마이그레이션 전략 확인
  • 테스트 커버리지: 광범위한 테스트 삭제로 인한 검증 보장 방법 검토
  • 클라이언트 영향: 삭제되는 API(OrderV1, ProductV1, PointV1 등)를 사용하는 클라이언트 코드 존재 여부 확인
  • Commerce-streamer 모듈: 새로 활성화된 모듈의 용도와 기존 동기식 구조 대체 여부 검증

Possibly related PRs

  • [volume-3] 도메인 모델링 및 구현  #85: 같은 도메인, 서비스, 파사드, 리포지토리, 컨트롤러, DTO 및 테스트 파일(주문, 좋아요, 제품, 브랜드, 포인트 등)을 직접 추가/구현하는 PR로, 이번 PR과 완전 반대 방향의 변경
  • [volume-3] 도메인 모델링 및 구현 - 홍창모  #81: 제품, 브랜드, 사용자/포인트 모델 및 리포지토리/서비스를 추가하는 PR로, 이번 PR이 삭제하는 동일한 도메인 클래스들과 직접 충돌
  • [volume-3] 도메인 모델링 #74: 제품, 브랜드, 좋아요, 주문, 포인트 도메인 클래스, 리포지토리, 파사드/컨트롤러, DTO 및 관련 테스트를 추가한 PR로, 이번 PR이 정확히 반대로 삭제

Poem

🐰 옛 구조는 작별이고,
이제 Redis와 Kafka 춤을 추네.
도메인 레이어 비우고,
이벤트의 흐름으로 흐르다.
무엇이 올지, 모두의 궁금증! 🎭✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch revert-95-round3

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 339132b and d321b49.

📒 Files selected for processing (95)
  • apps/commerce-api/build.gradle.kts (2 hunks)
  • apps/commerce-api/src/main/java/com/loopers/CommerceApiApplication.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/like/product/LikeProductFacade.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/like/product/LikeProductInfo.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/order/OrderFacade.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/order/OrderInfo.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/order/OrderItemInfo.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/order/OrderItemRequest.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/order/OrderRequest.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/point/PointFacade.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/product/ProductFacade.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/product/ProductInfo.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/user/UserFacade.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/application/user/UserInfo.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/brand/Brand.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/brand/BrandRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/brand/BrandService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/common/vo/Price.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/like/product/LikeProduct.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/like/product/LikeProductRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/like/product/LikeProductService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/metrics/product/ProductMetrics.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/metrics/product/ProductMetricsRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/metrics/product/ProductMetricsService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/order/Order.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/order/OrderItem.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/order/OrderRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/order/OrderService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/point/Point.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/point/PointRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/point/PointService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/product/Product.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/product/ProductRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/product/ProductService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/supply/Supply.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/supply/SupplyRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/supply/SupplyService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/supply/vo/Stock.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/user/User.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/user/UserRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/domain/user/UserService.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/brand/BrandJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/brand/BrandRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/like/LikeProductJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/like/LikeProductRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/metrics/product/ProductMetricsJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/metrics/product/ProductMetricsRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/order/OrderJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/order/OrderRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/point/PointJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/point/PointRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/product/ProductJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/product/ProductRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/supply/SupplyJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/supply/SupplyRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/user/UserJpaRepository.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/infrastructure/user/UserRepositoryImpl.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/like/product/LikeProductV1ApiSpec.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/like/product/LikeProductV1Controller.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/like/product/LikeProductV1Dto.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/order/OrderV1ApiSpec.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/order/OrderV1Controller.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/order/OrderV1Dto.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/point/PointV1ApiSpec.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/point/PointV1Controller.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/point/PointV1Dto.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/product/ProductV1ApiSpec.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/product/ProductV1Controller.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/product/ProductV1Dto.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/user/UserV1ApiSpec.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/user/UserV1Controller.java (0 hunks)
  • apps/commerce-api/src/main/java/com/loopers/interfaces/api/user/UserV1Dto.java (0 hunks)
  • apps/commerce-api/src/main/resources/application.yml (1 hunks)
  • apps/commerce-api/src/test/java/com/loopers/application/order/OrderFacadeIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/brand/BrandTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/common/vo/PriceTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/like/product/LikeProductServiceIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/like/product/LikeProductTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/order/OrderItemTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/order/OrderServiceIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/order/OrderTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/point/PointModelTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/point/PointServiceIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/product/ProductServiceIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/supply/SupplyTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/supply/vo/StockTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/user/UserModelTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/domain/user/UserServiceIntegrationTest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/interfaces/api/LikeProductV1ApiE2ETest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/interfaces/api/OrderV1ApiE2ETest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/interfaces/api/PointV1ApiE2ETest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/interfaces/api/ProductV1ApiE2ETest.java (0 hunks)
  • apps/commerce-api/src/test/java/com/loopers/interfaces/api/UserV1ApiE2ETest.java (0 hunks)
  • docker/infra-compose.yml (1 hunks)
  • settings.gradle.kts (1 hunks)

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 and usage tips.

@JVHE JVHE merged commit caec6fa into main Nov 28, 2025
1 of 2 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Dec 5, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants