이 프로젝트는 이커머스 서비스에 필요한 핵심 기능을 구현합니다.
상품 검색, 포인트 충전/결제, 선착순 쿠폰 발급, 장바구니, 주문/결제 등 전형적인 온라인 쇼핑몰에서 요구되는 기능들을 포함하고 있습니다.
- Backend
- Java 21
- Spring Boot 3.4.2
- JPA
- Database
- MySQL
- ElasticSearch
- Redis
- Infra
- Docker
- ETC
- Kafka
- CI/CD (GitHub Action)
- 상품명, 카테고리, 가격 범위, 인기순 등의 조건으로 상품 검색
- 상품명 자동완성, 추천검색어, 초성검색, 오타 보정 기능 지원
- 상품 ID, 이름, 가격, 잔여 수량 등의 상품 정보를 제공
- 실시간 재고 관리를 통해 정확한 잔여 수량을 확인할 수 있음
- 금액 할인 쿠폰(예: 5,000원 할인)과 정률 할인 쿠폰(예: 10% 할인) 제공
- 제한된 수량만 선착순 발급 가능
- 발급받은 쿠폰 목록을 조회하고, 주문 시 쿠폰을 사용하여 전체 금액 할인 가능
- 회원 식별자와 (상품 ID, 수량) 목록을 입력받아 주문을 생성
- 미리 충전된 잔액(포인트) 을 사용하여 결제
- 결제 성공 시 포인트 차감, 결제 실패 시 주문 자동 취소
- 외부 데이터 플랫폼(예: 메시지 큐, Mock API)으로 주문 정보 전송 가능
- 최근 3일간 판매량 기준, 가장 많이 팔린 상위 5개 상품 조회
- 통계성 데이터를 어떻게 수집, 저장, 조회할지에 대한 설계/구현
- 회원/비회원은 여러 상품을 장바구니에 담을 수 있으며, 필요 시 상품 추가/삭제 가능
- 장바구니에 있는 상품으로 주문/결제를 진행하여 편리한 쇼핑 환경 제공
- 비회원이 담은 장바구니는 로그인 시 해당 회원의 장바구니로 병합
- 회원 식별자를 통해 결제에 사용할 금액(포인트)을 충전할 수 있음
- 충전된 포인트의 잔액을 실시간으로 조회 가능