주문 관리 프로젝트
- 고객과 점주를 연결하며, 다양한 혜택을 포함한 주문 관리 서비스를 구현한다.
- 마일리지 결제, 적립금, 결제 수단 선택, 핫타임 등 다양한 이벤트를 가진다.
- 내용은 필요에 따라 변경될 수 있다.
- 서비스는 네이버 아이디, 구글 아이디로 가입하여 이용할 수 있다.
- 회원은 회원 번호, 회원 분류, 이름, 나이, 성별, 잔액, 마일리지를 가진다.
- 회원은 주문 시 원하는 만큼 마일리지를 사용할 수 있다.
- 회원은 고객, 점주, 관리자, 탈퇴로 구분된다.
- 결제 수단은 결제 수단 번호, 결제 수단 분류, 할인률, 적립률, 등록 시간, 해지 시간, 결제 상태를 가진다.
- 결제 수단은 신용카드, 지역카드, 호찌페이로 분류된다.
- 신용카드의 경우 4%의 할인율, 4%의 적립률을 가진다.
- 지역카드의 경우 6%의 할인율, 2%의 적립률을 가진다.
- 호찌페이의 경우 6%의 할인율, 4%의 적립률을 가진다.
- 결제 수단은 추가적으로 등록, 해지될 수 있다.
- 주문은 주문번호, 회원번호, 지점번호, 주문상태, 결제 수단, 마일리지 사용량, 시간, 주문분류를 가진다.
- 주문분류는 신청, 준비, 배달, 완료, 취소로 구분된다.
- 신청 단계에서 회원, 점주, 관리자가 취소할 수 있다. 취소 시, 회원이 사용한 금액은 환불된다.
- 준비 단계에서 점주, 관리자가 취소할 수 있다. 취소 시, 회원이 사용한 금액은 환불된다.
- 배달 단계에서 관리자만 취소할 수 있다. 취소 시, 회원이 사용한 금액은 환불되며, 점주에게 지금금을 지급한다.
- 완료 단계에서 관리자만 취소할 수 있다. 취소 시, 회원이 사용한 금액은 환불된다. 완료 후 6시간 이내에 취소 가능하다.
- 한 회원이 여러 지점에 주문할 수 있으며, 한 지점이 여러 회원에게 주문 받을 수 있다.
- 지점은 지점번호, 회원번호, 지점분류, 등록 시간, 해지 시간, 지점 상태를 가진다.
- 지점 분류는 한식, 중식, 일식, 분식, 양식, 야식으로 구분된다.
- 지점 상태는 등록, 해지로 구분된다.
- 메뉴는 메뉴번호, 지점번호, 가격, 등록 시간, 해지 시간을 가진다.
- 성별, 나이대를 기반으로 고객이 어떤 메뉴를 많이 시켰는지 알 수 있다.
- 일별로 매출, 점주 지급금, 환불 금액을 계산한다.
- 매월 5일 지난달에 대한 매출 합계, 점주 지급금 합계, 환불 금액 합계를 출력한다.
- 다양한 카테고리로 매출 금액을 분석한다(지점 분류, 회원 정보 등)
- 서비스는 고객이 결제한 최종 금액(마일리지 포함)의 10%를 수수료로 가져간다.
- 검색 기능이 존재한다.
- 필터 기능이 존재한다.
- 특정 시간대에 특정 음식점에서 음식을 주문하면 선착순으로 마일리지를 두배로 제공한다.
기능 구현 : API
권한(시큐리티)
배치
동시성 제어
예외 처리
테스트
버전 관리
로깅
JAVA8
회고
배포 : 배포
모니터링(프로메테우스)
CI/CD
성능 최적화 : DB 성능 개선
스케일 아웃
다중화 서버에서의 동시성 처리