Skip to content

maru-KK/sparta-logistics

Repository files navigation

📦 SPARTA-LOGISTICS

물류 관리 및 배송 시스템을 위한 MSA 기반 플랫폼
개발 기간 : 2024.12.05 ~ 2024.12.16


🧑🏻‍💻 개발 인원 및 역할

팀원명 역할

정현수
서비스 디스커버리 및 Gateway 구축, 인증/인가/주문/상품 서비스 구현
Kafka, RabbitMQ 비동기 통신 환경 구축, Redis 캐싱 환경 구축
slack API 메시지 발송 기능 구현, DockerCompose 실행 환경 구축, 서버 아키텍처 작성

손동필
배송/배송 담당자/배송 경로 서비스 구현,
Kafka 비동기 통신, Redis 활용 배송 담당자 순차 배정 기능 구현

김민주
허브/허브 간 이동정보/업체 서비스 구현,
Redis 캐싱 환경 구축, OpenRouteService API 및 Gemini AI API 연동



✨ 서버 아키텍처

image



✨️ 서비스 구성 및 실행방법

실행 방법

WIKI보기

🛡 Gateway Service

  • 토큰을 통한 사용자 요청 인증/인가 처리
  • 로드밸런싱, 로깅

🛡 Auth Service

  • 로그인 및 회원가입
  • JWT 토큰 발급
  • 유저 데이터 관리

📦 Order Service

  • 주문 생성
  • 조회 및 검색 (필터링, 정렬)
  • Kafka 비동기 통신 환경 구축

📦 Product Service

  • 상품 생성 및 재고 수정
  • 조회 및 검색 (필터링, 정렬)

📦 Delivery Service

  • 배송 생성, 조회 및 검색
  • 배송 담당자 생성, 순차 배정
  • 배송 경로 생성, 조회 및 검색

📦 Hub-Company Service

  • 허브, 업체 생성
  • 조회 및 검색 (필터링, 정렬)
  • 허브 정보 캐싱

📦 Hub-Route Service

  • 허브 간 이동 정보 생성 및 조회
  • OpenRouteService API를 활용한 허브 간 이동 경로 탐색
  • 허브 간 이동 경로 캐싱

📦 Infra Service

  • Gemini AI API를 활용한 배송 출발 마감 시간 계산
  • Slack API를 활용한 주문 및 배달 메시지 발송



✨️ 트러블 슈팅

🚀 Jackson 직렬화 내부 동작 방식으로 인한 Redis 캐시 데이터 파싱 오류 WIKI보기

🚀 배송 담당자의 타입에 따른 조건부 속성 문제 WIKI보기

🚀 이벤트 기반 통신구현 및 Kafka의 사용을 선택한 이유 (feat. RabbitMQ) WIKI보기

🚀 RabbitMQ를 사용한 성능 개선(약 83% 성능 개선) WIKI보기



✨ 사용기술 및 개발환경

Development


Database

Server





✨ ERD

image

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •