Skip to content

CBNU-Nnet/spring-shoppingmall-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Shoppingmall 프로젝트 V1

사용 라이브러리 버전

Spring Boot : 2.4.1

Spring Data JPA : 2.4.2

H2 DataBase : 1.4.200

Spring Boot Devtools : 2.4.1

Lombok Annotation Processor : 1.18.16

프로젝트 구현 시 주의사항

  1. 아래의 자바 컨벤션을 지켜주기 바람.
  2. Intellij를 활용하여 Goole StyleGuide를 적용하여 사용
  3. 롬복 사용 시 안티패턴 사용하지 않기
  4. JPA 사용 시 안티패턴 사용하지 않기
    • @ManyToMany 와 같은 것
    • 쿼리와 커맨드를 항상 분리하라 CQRS
  5. 객체지향의 원칙을 준수해서 프로젝트 작성하기
    • SOLID
    • Package 나누기 등
  6. CLI 프로그래밍을 할 것이므로 CommandLineRunner 를 사용하기

요구사항

사용자

  • 사용자는 고유의 아이디를 갖고 있으며, 이름, 패스워드, 이메일의 정보를 갖고 있다.
    • 패스워드는 암호화되어야한다.
  • 사용자는 로그인을 할 수 있어야 한다.
  • 사용자는 로그아웃을 할 수 있어야 한다.
  • 사용자는 상품을 장바구니에 담을 수 있어야 한다.
  • 사용자는 장바구니에 담긴 상품들을 구매할 수 있어야 한다.
  • 사용자는 상품 정보를 확인할 수 있어야 한다.

상품

  • 상품은 고유의 상품번호와 상품명, 판매가격, 재고수량 정보를 가지고 있어야한다.
  • 상품은 분류(카테고리)를 가진다.
    • 인터넷 강의
    • 필기도구
  • 한번의 여러개의 상품을 같이 주문할 수 있어야 한다.
  • 상품번호, 수량은 반복적으로 입력 받을 수 있어야한다.
    • 단, 인터넷 강의의 경우 1명의 사용자가 단 1번만 주문할 수 있다.
    • 위와 같은 케이스일 때 중복 주문을 막아야한다.
  • 상품의 총 가격이 10,000원 이하일 때 배송비 3000원이 추가된다.
    • 단, 인터넷 강의는 배송비가 붙지않는다.
  • 상품은 쿠폰이 적용되는 상품과 적용되지 않는 상품이 존재한다.
  • 'exit'를 입력하면 프로그램이 종료되어야 한다.
  • 유닛테스트 (TDD, BDD)는 필수적으로 작성되어야한다.

화면

  • 초기화면
SpringShoppingMall 입니다. 어서오세요 (1. 로그인)

#로그인 후
SpringShoppingMall 입니다. 홍길동님 어서오세요 (1. 상품조회, 2. 장바구니 확인, 3. 결제) 
  • 상품주문 화면
#초기 화면 
======================================================
	상품번호 | 카테고리 | 상품 이름 |  가격  | 재고수
  000001   필기구     웅샤프	  1,000   100
    .... (초기에는 DB에 있는 모든 상품 리스트가 나온다) ....
======================================================
장바구니에 담을 상품번호를 입력해주세요 : 

#장바구니에 담은 후 화면 
======================================================
	상품번호 | 카테고리 | 상품 이름 |  가격  | 재고수
  000001   필기구     웅샤프	  1,000   100
======================================================
장바구니에 현재 1개의 상품(웅샤프, 2개)가 담겼습니다.
추가적으로 진행하실 일이 있으신가요? (1. 상품목록 확인, 2. 장바구니 목록확인, 3. 결제)
  • 장바구니 및 결제 화면
#장바구니 목록 화면
======================================================
	상품번호 | 상품 이름 |  가격  | 주문 수량 | 배송비 | 총 결제금액
  000001   웅샤프	    1,000     3      3,000     3,000
======================================================
결제를 진행하시겠습니까? (1. 진행, 2. 초기화면으로) 

#결제 진행 후 화면
======================================================
	주문번호 | 카테고리 | 상품 이름 |  가격  | 주문 수량 | 총 결제금액
  000001   필기구     웅샤프	  1,000     3        3,000
======================================================
총 결제 금액 : 6,000원 (배송비 3,000원)
할인 금액 : 0원

결제완료 되셨습니다.
다른 업무를 보시겠습니까? (1. 초기화면으로) 

이런 구조로 화면을 그린다고 생각하시면 됩니다.

샘플 데이터

상품번호 카테고리 상품명 가격 재고수
22010001 인터넷강의 한 번에 끝내는 React.Js 69500 -
22010002 인터넷강의 쿠버네티스를 배워보자 158000 -
22010003 인터넷강의 객체지향의 원리와 이해 78500 -
22010004 인터넷강의 뉴비를 위한 스프링 코어 핵심 강의 288800 -
22010005 인터넷강의 서양고전을 읽으면서 배우는 인문학 강의 89600 -
22110001 필기도구 GF1000 샤프 15000 30
22110002 필기도구 EE-1234 지우개 500 5
22110003 필기도구 HH-2510 HB 샤프심 (20개입) 2000 15
22110004 필기도구 HH-2513 B4 샤프심 (20개입) 2000 17
22110005 필기도구 HP-0051 형광펜 1500 3
23110001 서적 오브젝트 20000 10
23110002 서적 객체지향의 사실과 오해 13600 3
23110003 서적 DDD START! 15800 14
23110004 서적 토비의 스프링 3.1 (1편) 38000 5
23110005 서적 토비의 스프링 3.1 (2편) 38000 5
23110006 서적 HTTP 완벽 가이드 19800 3
23110007 서적 자바 ORM JPA 프로그래밍 29800 4
23110008 서적 HeadFirst Design Pattern 17600 3
23110009 서적 Thinking in Java (4th ed) 26000 2
23110010 서적 Effective Java (3rd ed) 24000 1

About

스프링 기반 shoppingMall 예제 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages