tranche
온라인 쇼핑몰 구현
나만의 비즈니스 모델을 도입한 상품 공급 시스템(쇼핑몰)
프로젝트 목표(평가 기준) 🎯
- 계획에 맞춰 기능 구현
- 추상화된 기술 최소한으로 사용
- lombok 없이 코드 작성
- JDBC 사용 ➨ JDBC Template 적용 ➨ JPA 적용
- spring boot에서 spring으로 이식
- 모든 기능에 대해 테스트 코드 작성
- spring에 대해 깊이 이해하기
- 복잡한 로직, 쿼리 구현 ➨ clean code로 리팩토링
- 최대한 실제 서비스에 가까운 애플리케이션 구현
요구사항
핵심 비즈니스 로직
해당 서비스가 수익을 내는 방법은 다음과 같다.
A가 P
원짜리 상품을 산다.
A는 P/N+@
원을 지불하고 1/N
의 확률로 상품을 구매하는데 성공한다.
k*N
번을 초과해서 실패할때마다 k*N%
할인 쿠폰을 지급한다.
P
는 상품원가이다.
회원 관리
- 회원 가입 및 로그인 기능
- 회원의 권한은
일반
판매자
관리자
로 구분된다.
일반
일반(normal)
회원은 상품을 구매하는 회원이다.
- 등록된 상품,
판매자
회원을 조회할 수 있다.
판매자
판매자(vendor)`는 상품을 판매하는 회원이다.
판매자
회원을 조회할 수 있다.- 판매자 이름, 고유번호
- 판매자 이름은 중복될수 없다.
- 모든
판매자
회원은차수(degree)
를 가진다.0
- 서비스 운영자가 직접 상품을 판매1
- 그 외의 경우. 서비스 사용료를 지불한다.
관리자
관리자(admin)
회원은 서비스를 운영한다.
- 모든 데이터에 대해 CRUD가 가능하다.
주문 관리
관리자
에 의해 생성/수정/삭제 가능- 주문은 다음과 같은 상태를 가진다.
- 결제 완료/배송 중/배송 완료/취소
- 하나의 판매자당 여러 주문이 있고, 하나의 주문은 하나 이상의 주문 상세와 연결되어 있다.
- 주문 상세는 하나 이상의 결제수단 내용을 담고 있다.
- 결제수단은 카드, 포인트, 쿠폰으로 구성된다.
- 주문은 검색 가능하다.
- 판매자, 주문 일시
보상/보정 관리
보상 - 서버 다운 등의 시스템의 오류 발생시 판매자에 대한 보상 정책 이다.
- 관리자에 의한 생성/수정/삭제 가능
- 경우에 따라 +/- 보상 및 보정금이 추가될 수 있으며 보상 내용에 관해 확인 가능
- 지급된 판매자에 대한 정산 대상에 포함되는 데이터이다.
- 보상은 검색 가능하다.
- 판매자 번호, 보상일시
지급금 관리
정산 - 일반회원이 결제한 금액 중 판매자가 받을 수 있다.
- 일반적으로 누군가가 실제로 받을 수 있는 금액을 계산한다는 뜻으로 사용된다.
지급 - 판매자가 받을 금액을 판매자에게 전달하는 것이다.
판매자
회원은 지급금을 요청할 수 있다.- 지급금 요청시 지급 날짜를 지정한다.
관리자
는 지급금을 승인할 수 있다.- 지급금이 생성된 상세 내역을 확인할 수 있다.
- 지급금 상세 보기를 할 수 있다.
- 지급금에 포함된 주문 및 보상 내역을 확인할 수 있다.
- 지급금을 검색할 수 있다.
- 판매자 번호, 지급 기준 연월
서버 개발
여러 형태의 클라이언트에서 서비스를 제공받을 수 있도록 REST API로 구현한다.
계획
날짜 | 내용 | 비고 |
---|---|---|
07.30 - 08.01 | 프로젝트 구상, 요구사항 정리, 컴포넌트와 기능 정의, DB 설계 | 컴포넌트, DB 설계 |
08.02 - 08.06 | 인증/인가, 회원가입, 로그인, 상품 등록 | 자세한 내용 |
08.07 - 08.08 | 리팩토링 | 자세한 내용 |
08.09 - 08.13 | 주문에 대한 CRUD | 자세한 내용 |
08.14 - 08.15 | 리팩토링 | 자세한 내용 |
08.16 - 08.20 | 정산 | 자세한 내용 |
08.21 - 08.22 | 리팩토링 | 자세한 내용 |
Comments