- 간단설명 : 스타벅스에서 원격으로 커피를 주문하듯, 커피를 주문할 수 있는 앱입니다.
- 사용자는 지정된 장소를 선택하여 해당 장소에 커피/음료를 구매하고 해당 음료를 픽업하거나 주문한 제품을 자신의 주소에서 배송 받을 수 있다.
- 판매자는 영업시간, 판매제품 등을 정할 수 있으며 해당 제품들은
- 주문이 완료되면, 대기번호 및 주문 정보 등이 주문자에게 알림이 간다.
- 판매자는 기간 할인, 쿠폰 할인, 제품 할인 등 다양한 할인 정책을 제품에 적용할 수 있다.
- 배송자는 주문이 들어오면, 사용자 주소로 배송을 진행합니다.
- 매일 새벽 03:00, 주문자에게 일별 정산 금액이 계산된다.
- 매월 1일 새벽 03:00, 월별 정산 금액이 계산된다.
- 판매자는 판매된 데이터를 다양한 검색 조건을 통해, 검색할 수 있다.
- 사용자는 다양한 결제 수단(카카오페이, 네이버페이, 신용카드, 계좌이체)을 선택하여, 상품을 구매할 수 있다.
- 프론트엔드 기능 : 백엔드 API 구현에만 집중하므로, 프론트엔드 화면은 제공하지 않습니다. 모든 기능은 포스트맨 혹은 Swagger 문서를 통해 확인할 수 있습니다.
- 판매자 편의기능 : 복잡도를 줄이기 위해, 판매자가 제품을 만들기 위해 필요한 원재료에 대한 입고 기능은 제공하지 않습니다.
- MSA : 복잡도를 줄이기 위해, 개발 시 하나의 서버로 진행하되, 실제 배포 시에는 서버가 여러 대로 늘 수 있고 (학습을 목적으로) 추후 도메인 별로 나눠 MSA 프로젝트(주문, 배송, 정산 등)로 전환될 수 있습니다.
- 실서버 : 비용 상의 문제로, 로컬 환경에서 도커로 필요한 컴포넌트들을 패키징하며, 실제 서버에는 배포하진 않습니다.
- DB (MySQL)
- Server (Spring Boot)
- Notification Server
- Redis
- Load Balancer (Nginx)
- Docker
- CI Pipeline (Jenkins)
- CD Pipeline (Amazon CodeDeploy)
- 모니터링 (Grafana, Micrometer)
- 로깅 (MongoDB)
(아키텍처 다이어그램 추가 예정)
(추가 예정)
(추가 예정)
- Spring, Spring Boot, Spring MSA, Spring Data JPA, QueryDSL, MySQL, Redis, Nginx, Docker, Jenkins, Grafana, Micrometer