Skip to content

항해99 2주차 이커머스 프로젝트 과제관련 리포지토리

Notifications You must be signed in to change notification settings

katiekim17/eCommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

e-커머스 서비스

💡 아래 명세를 잘 읽어보고, 서버를 구현합니다.

Description

  • e-커머스 상품 주문 서비스를 구현해 봅니다.
  • 상품 주문에 필요한 메뉴 정보들을 구성하고 조회가 가능해야 합니다.
  • 사용자는 상품을 여러개 선택해 주문할 수 있고, 미리 충전한 잔액을 이용합니다.
  • 상품 주문 내역을 통해 판매량이 가장 높은 상품을 추천합니다.

Requirements

  • 아래 5가지 API 를 구현합니다.
    • 잔액 충전 / 조회 API
    • 상품 조회 API
    • 주문 / 결제 API
    • 선착순 쿠폰 API
    • 인기 판매 상품 조회 API
  • 각 기능 및 제약사항에 대해 단위 테스트를 반드시 하나 이상 작성하도록 합니다.
  • (심화) 재고 관리에 문제 없도록 구현합니다.
  • (심화) 동시성 이슈를 고려하여 구현합니다.
  • (심화) 다수의 인스턴스로 어플리케이션이 동작하더라도 기능에 문제가 없도록 작성하도록 합니다.

API Specs

기본과제

1️⃣ 주요 잔액 충전 / 조회 API

  • 결제에 사용될 금액을 충전하는 API 를 작성합니다.
  • 사용자 식별자 및 충전할 금액을 받아 잔액을 충전합니다.
  • 사용자 식별자를 통해 해당 사용자의 잔액을 조회합니다.

2️⃣ 기본 상품 조회 API

  • 상품 정보 ( ID, 이름, 가격, 잔여수량 ) 을 조회하는 API 를 작성합니다.
  • 조회시점의 상품별 잔여수량이 정확하면 좋습니다.

3️⃣  주요 선착순 쿠폰 기능

  • 선착순 쿠폰 발급 API 및 보유 쿠폰 목록 조회 API 를 작성합니다.
  • 사용자는 선착순으로 할인 쿠폰을 발급받을 수 있습니다.
  • 주문 시에 유효한 할인 쿠폰을 함께 제출하면, 전체 주문금액에 대해 할인 혜택을 부여받을 수 있습니다.

4️⃣ 주요 주문 / 결제 API

  • 사용자 식별자와 (상품 ID, 수량) 목록을 입력받아 주문하고 결제를 수행하는 API 를 작성합니다.
  • 결제는 기 충전된 잔액을 기반으로 수행하며 성공할 시 잔액을 차감해야 합니다.
  • 데이터 분석을 위해 결제 성공 시에 실시간으로 주문 정보를 데이터 플랫폼에 전송해야 합니다. ( 데이터 플랫폼이 어플리케이션 외부 라는 가정만 지켜 작업해 주시면 됩니다 )

데이터 플랫폼으로의 전송 기능은 Mock API, Fake Module 등 다양한 방법으로 접근해 봅니다.

5️⃣  기본 상위 상품 조회 API

  • 최근 3일간 가장 많이 팔린 상위 5개 상품 정보를 제공하는 API 를 작성합니다.
  • 통계 정보를 다루기 위한 기술적 고민을 충분히 해보도록 합니다.

💡 **KEY POINT**
  • 동시에 여러 주문이 들어올 경우, 유저의 보유 잔고에 대한 처리가 정확해야 합니다.
  • 각 상품의 재고 관리가 정상적으로 이루어져 잘못된 주문이 발생하지 않도록 해야 합니다.

About

항해99 2주차 이커머스 프로젝트 과제관련 리포지토리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages