Skip to content

자바 기반의 실시간 전자제품 커머스 플랫폼 관리 시스템

Notifications You must be signed in to change notification settings

fryzke/CommerceProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

요구사항

기능 정의

  • 상품 탐색

카테고리 기반 구조: 가전, 의류, 식품 등 대분류를 먼저 선택한 후 해당 상품 리스트를 조회합니다.

상세 정보 열람: 상품의 이름, 가격, 재고, 설명을 확인합니다.

  • 장바구니 주문: 장바구니에 담은 상품과 총 가격을 확인하고 주문합니다. 주문취소: 장바구니를 비웁니다.

  • 프로그램 종료(0) 프로그램을 종료한다. 인터페이스 방식 : 콘솔 기반

예외처리

  • 정수가 아닌 문자열 등의 값이 들어왔을 때 : "올바르지 않은 입력입니다. 숫자를 입력해주세요." 출력
  • 범위 밖의 정수가 입력 되었을 때 : "범위 안 숫자를 입력해주세요." 출력
  • 재고가 부족한데 장바구니에 담으려는 경우 : "재고가 부족합니다." 출력

설계

  • Product: 상품의 원천 데이터를 담는 클래스. (이름, 가격, 설명, 재고)
  • Category: 관련 상품들을 그룹화하며, 카테고리명을 관리
  • Customer: 사용자 정보 및 등급 산정 로직을 포함하는 클래스
  • CommerceSystem: 프로그램의 전체 흐름(메뉴 출력, 입력 처리, 화면 전환)을 제어
  • ProductRepository: 초기 데이터를 생성하고 공급하는 저장소 역할의 클래스
  • StockManager: 재고관리 시스템 클래스
  • CartItem: 장바구니에 담길 상품(상품 정보, 수량)을 관리하는 클래스
  • Cart: 장바구니에 담긴 상품을 관리하는 클래스

어려웠던 점

  • 출력할 문장의 공백을 맞추는 것. 글자수는 전부 다른데, 줄을 어떻게 맞출까? -> printf의 필드 폭 지정 기능을 사용해서 해결.

About

자바 기반의 실시간 전자제품 커머스 플랫폼 관리 시스템

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages