Skip to content
This repository has been archived by the owner on Oct 13, 2022. It is now read-only.

f-lab-edu/momukji-services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍴momukji-services

📌 개요

모먹지 프로젝트는 배달 기반의 음식 주문 서비스 입니다. Microservice Architecture의 전반적인 이해 및 패턴 구현을 위해 제작되었으며, 현재 해당 momukji-services 깃 저장소에는 모먹지 프로젝트의 Microservices를 다루고 있습니다. 모먹지 프로젝트의 Microservices에는 Customer, Store , Rider의 주요 API들이 있는 Main과 JWT 토큰 발행과 인증 관련 API를 다루는 Auth, user관련 API를 다루는 User 로 구성되어 있습니다. 클라이언트의 모든 API 호출을 올바른 Microservice로 라우팅하는 역할인 Gateway는 다른 깃 저장소인 momukji-gateway 에 구현되었습니다. 진행 상황에 있어 세분화된 기록을 위해 저장소를 분리하였습니다. 프로젝트 진행에 따라 ReadMe 업데이트 예정입니다.

📌 목표 및 사용 기술 스택

  • 배달 앱 서비스를 구현해 내는 것이 목표입니다.
  • 대규모 트래픽과 대용량 데이터 처리가 가능하도록 구현해내고 싶습니다.
  • 이유와 근거가 명확한 기술의 사용을 지향합니다.
  • 이 프로젝트를 통해 기존의 Monolithic Architecture을 Microservice Architecture로 전환함으로써 두 구조에 대한 전반적인 이해도를 높이고 패턴 구조를 구현하는데 목표를 두고 있습니다.

📌 중점사항

  • MSA 구조를 통해 대용량 처리, 서비스별 트래픽 분석, 트래픽별 서비스 증설 구현
  • MonogoDB를 활용하여 대용량처리 과정 중 DB 병목 현상 방지

📌 프로젝트 구조도

image

📌 시퀀스 다이어그램 및 유즈케이스

im2

🐣Customer

  • 회원가입한다
  • 로그인한다
  • 탈퇴한다
  • 음식 카테고리를 선택하여 가게 목록을 본다
    • 음식 카테고리 내려받기
    • 가게 목록 내려받기
      • 가게 위치 정보도 같이 수신
      • API 파라미터로 내 위치 정보도 전달
  • 가게 상세정보를 본다
    • 음식 메뉴를 본다
  • 가게에 결제하고 주문한다 (돈은 가상머니로 구현한다)
  • 주문 상태를 확인한다 (WebSocket 비동기 알림 사용한다)
  • 주문을 취소하고 환불받는다

🐣Store

  • 회원가입한다
  • 로그인한다
  • 탈퇴한다
  • 내 가게를 등록한다
  • 주문 푸쉬알람을 받는다
  • 주문을 거절/승인한다
    • 승인 후 받은 주문을 취소한다
  • 주문 정보를 확인한다 (주문 목록, 소비자 연락처, 주문상태)
  • 라이더 호출
    • 라이더에게 음식 인계 후 인계 정보 등록

🐣Rider

  • 회원가입한다
  • 로그인한다
  • 탈퇴한다
  • 배차요청 푸쉬알람을 받는다 (WebSocket 비동기 알림 사용한다)
  • 배차요청 대기 목록을 본다
  • 배차 요청을 받는다
  • 수락한 배차 요청을 취소한다
  • 배달을 완료한다
  • 배차요청 푸쉬알림 수신 여부를 설정한다

📌 DB ERD

erd

📌 Oven 프로토타이핑

📌 정책

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages