사용자의 요청을 처리하고, 데이터를 관리하여 쇼핑몰 기능을 제공하는 역할 API 서버를 개발합니다.
- Java 17
- Spring 6.0.10
- Spring Boot 3.1.1
- MySQL 8.0.33
- 회원 가입 기능
- 사용자의 아이디, 비밀번호, 이메일 등을 입력받아 회원 정보를 저장
- 로그인 기능
- 사용자가 입력한 아이디와 비밀번호를 검증하여 인증 처리를 수행
- 상품 정보 저장
- 상품의 이름, 가격, 설명, 이미지 URL, 재고 갯수 등의 정보를 입력받아 데이터베이스에 저장
- 상품 목록 조회
- 저장된 상품 목록을 필터링하여 조회
- 좋아요 / 좋아요 취소 기능
- 사용자가 상품에 좋아요를 누르면 해당 정보를 데이터베이스에 저장
- 상품 상세 정보 페이지에서 현재 좋아요 개수를 확인
- 상품 상세 정보 페이지에서 현재 좋아요 개수를 조회
- 상품에는 재고 갯수가 존재하며, 사용자가 상품을 주문할 때마다 재고 갯수가 감소
- 주문 처리 시, 상품의 재고 갯수를 체크하여 충분한 재고가 있는 경우에만 주문을 처리
- 재고가 0인 경우, 품절 처리
- 재고가 0인 경우, 상품을 품절 상태로 변경
- 주문 정보 저장
- 사용자가 장바구니에 담은 상품들로 주문 정보를 생성하고 데이터베이스에 저장
- 주문을 처리할 때는 재고 갯수를 감소
- 실제 결제 모듈과 연동하지 않고, 가상의 결제 처리를 구현