본문 바로가기
Spring/- [시리즈] 간단한 CRUD 구현하기

CRUD 구현 1 - 요구 사항 및 개발 환경

by 정구정구 2026. 5. 12.

개발 목적

상품(Product) 과 주문(Order) 두 가지 도메인으로 구성된
간단한 주문 관리 서비스를 구현하는 프로젝트

상품

  • 상품을 등록 할 수 있어야 합니다.
  • 상품을 단건/목록 조회 할 수 있어야 합니다.
  • 상품을 수정 할 수 있어야 합니다.
  • 상품을 삭제 할 수 있어야 합니다.

주문

  • 이미 등록된 상품의 ID 를 이용해서 주문을 생성할 수 있어야 합니다.
    • 주문 시 상품은 1개만 선택할 수 있습니다.
  • 주문을 단건 조회 할 수 있어야 합니다.
    • 주문을 조회할 때 주문한 상품의 이름이 함께 노출되어야 합니다.
    • 상품 수정에서 상품 이름을 변경했을 때, 해당 상품으로 이미 생성된 주문을 조회하면 주문 조회 결과의 상품 이름도 변경된 이름으로 보여야 합니다.
    • 상품과 주문의 연관관계를 적절하게 설계하여 구현하세요.
  • 주문 목록 조회 API를 구현합니다. (페이지네이션 방식은 자유)
  • 응답 데이터에는 상품 이름이 포함되어야 합니다.
  • 목록 조회 시 N+1 문제가 발생하지 않도록 구성해야 합니다.
  • 상품에 stock 필드를 추가합니다.
  • 주문 생성 시 주문한 수량에 따라stock이 감소하도록 처리합니다.
  • 재고가 0일 때는 주문이 생성되지 않도록 처리합니다.

 

개발 환경

개발 : MySql, IntelliJ, DBeaver, JPA
테스트 : Postman