/shop-basics

Shopping mall project for learning backend based on Spring Framework

Primary LanguageJava

Shop Basics

사용자의 요청을 처리하고, 데이터를 관리하여 쇼핑몰 기능을 제공하는 역할 API 서버를 개발합니다.

Version

  • Java 17
  • Spring 6.0.10
  • Spring Boot 3.1.1
  • MySQL 8.0.33

Requirements

사용자 관리

  • 회원 가입 기능
    • 사용자의 아이디, 비밀번호, 이메일 등을 입력받아 회원 정보를 저장
  • 로그인 기능
    • 사용자가 입력한 아이디와 비밀번호를 검증하여 인증 처리를 수행

상품 관리

  • 상품 정보 저장
    • 상품의 이름, 가격, 설명, 이미지 URL, 재고 갯수 등의 정보를 입력받아 데이터베이스에 저장
  • 상품 목록 조회
    • 저장된 상품 목록을 필터링하여 조회

좋아요 기능

  • 좋아요 / 좋아요 취소 기능
    • 사용자가 상품에 좋아요를 누르면 해당 정보를 데이터베이스에 저장
  • 상품 상세 정보 페이지에서 현재 좋아요 개수를 확인
    • 상품 상세 정보 페이지에서 현재 좋아요 개수를 조회

재고 갯수 관리

  • 상품에는 재고 갯수가 존재하며, 사용자가 상품을 주문할 때마다 재고 갯수가 감소
    • 주문 처리 시, 상품의 재고 갯수를 체크하여 충분한 재고가 있는 경우에만 주문을 처리
  • 재고가 0인 경우, 품절 처리
    • 재고가 0인 경우, 상품을 품절 상태로 변경

주문 처리

  • 주문 정보 저장
    • 사용자가 장바구니에 담은 상품들로 주문 정보를 생성하고 데이터베이스에 저장
    • 주문을 처리할 때는 재고 갯수를 감소

결제 처리

  • 실제 결제 모듈과 연동하지 않고, 가상의 결제 처리를 구현