- 이 프로젝트는 Product 와 Order 가 있는 간단한 Spring Boot 응용 프로그램입니다.
- 과제는 기능 구현, 리팩토링, 코드 리뷰로 구성되어 있습니다.
코드베이스에는 수정 및 리뷰해야 하는 TODO가 있습니다. 각 TODO는 코드의 주석으로 표시되어 있습니다.
| 영역 | 과제 | 핵심 포인트 |
|---|---|---|
| 기능/설계 | TODO #1~#4: 기본 구현 및 DDD 리팩토링 | 도메인 모델 중심 설계 및 서비스 레이어 비대화 방지 |
| 코드리뷰 | TODO #5: 배치 처리 로직 리뷰 | Spring 프록시 이해도, 리소스 최적화, 운영 리스크 식별 |
| 리팩토링 | TODO #6: 전략 패턴 및 수치 정확성 | BigDecimal 활용, 전략 패턴을 통한 확장성 확보 |
| 최적화 | TODO #7: 권한 체크 로직 최적화 | 복잡한 루프 구조 개선 및 자료구조(Map/Set) 활용 |
| 동시성 | TODO #8: 재고 차감 동시성 제어 | Race Condition 해결 전략(Locking) 및 정합성 보장 |
| 아키텍처 | TODO #9: 주문-재고 도메인 결합도 해소 | 이벤트 기반 분리 혹은 추상화를 통한 유연성 확보 |
| 운영/안정성 | TODO #10: 예외 처리 및 로깅 전략 | 전역 예외 처리 규격화 및 트레이싱 가시성 |
- Database 사용은 JPA 혹은 MyBatis 중 자유롭게 선택해서 구현해 주세요.