BookShop - 사이드 프로젝트

<aside> 💡

‘실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발’ 강의를 참고하여 만든 도서 쇼핑몰의 주문 흐름을 백엔드 중심으로 구현한 프로젝트입니다.

Spring Boot와 RESTful API를 활용하여 회원 가입, 상품 등록, 주문 생성 및 취소 등 전자상거래 서비스의 핵심 흐름을 알아보았습니다.

이 프로젝트를 통해 순수 JPA로 먼저 구조를 잡은 뒤 Spring Data JPA로 리팩토링하며 두 방식의 차이점과 트랜잭션 처리 방식, 연관관계 매핑 전략을 깊이 있게 학습했습니다.

특히, JPA가 내부적으로 어떻게 동작하는지 감을 잡을 수 있었고 문제가 발생했을 때 어떤 흐름에서 원인을 파악하고 대응할 수 있는지 이해하는 데 많은 도움이 되었습니다.

</aside>


주요 API 엔드포인트 목록

📌 Order API

Method URL 설명
GET /api/orders 주문 목록 조회
GET /api/orders/{id} 주문 상세
POST /api/orders 주문 생성
PATCH /api/orders/{id}/cancel 주문 취소

📌 Member API

Method URL 설명
GET /api/members 회원 목록 조회
POST /api/members 회원등록
DELETE /api/members/{id} 회원삭제
PATCH /api/members/{id} 회원 수정

📌 Item API

Method URL 설명
GET /api/items 모든 상품 조회
GET /api/items/{id} 상품 단건 조회
POST /api/items 상품 등록
DELETE /api/items/{id} 상품 삭제
PATCH /api/items/{id} 상품 수정

요청/응답 DTO 정리

Method URL 요청 DTO 응답 DTO 설명
GET /api/orders 없음 List 전제 주문 목록을 조회
GET /api/orders/{id} 없음 OrderResponseDto 주문 정보 상세 확인
POST /api/orders OrderRequestDto integer 클라이언트가 주문 시 주문 생성
PATCH /api/orders/{id}/cancel 없음 string 주문 ID로 취소
GET /api/members 없음 List 전체 회원 목록을 조회
POST /api/members MemberDto integer 회원정보를 입력 받아 저장
PATCH /api/members/{id} MemberUpdateDto string 회원 정보를 수정
DELETE /api/members/{id} 없음 string 회원 ID로 회원 삭제
GET /api/items 없음 List 등록된 전체 상품목록을 조회
GET /api/items/{id} 없음 BookDto 하나의 주문 목록만 조회
POST /api/items BookDto integer 상품정보를 입력 받아 저장
DELETE /api/items/{id} 없음 string 상품 ID로 상품을 삭제
PATCH /api/items/{id} BookDto string 상품정보를 수정

구현기능

Untitled

기능 설명 및 시연

토글(▶)을 한 번에 열고싶다면 cmd + option + t / ctrl+ alt + t 를 눌러주세요.

회원 기능

주문 기능

상품 기능(관리자 전용)

프로젝트 소감