Skip to content
@pljHub

pljHub

HUB

MSA 기반 인공지능 알림 물류 서비스



📘 프로젝트 개요

프로젝트 주제

  • MSA 기반 생성형 인공지능을 활용한 물류 시스템 서비스 구축

기획 배경

  • 자동화된 물류 시스템 구축 필요

  • 반복되는 형식의 보고서 작성 필요


프로젝트 목표

  • 생성형 AI를 활용한 알림 및 보고서 작성을 통한 편의성 제공

  • 유연한 상태 변경을 통한 배송 추적 편리화

  • 지리 API 를 활용한 배송 경로 및 소요 시간 추적

  • 확장 가능성을 고려한 아키텍처 설계


👨‍👩‍👧‍👦 Our Team

박상훈 이범수 조인희
@shoon95 @beomsu1 @InHees
BE BE BE



🌐 아키텍처

image



🛠 Application 구성

User Application

USER

ADMIN

Hub Application

HUB

COMPANY

PRODUCT

  • 허브 정보를 활용하여 재귀적으로 경로를 생성합니다.

Order Application

ORDER

DELIVERY

AI-Slack Applciation

AI

SLACK



🏅 프로젝트 기능

  • 회원 가입 후 slack 메세지를 활용하여 인증 후 계정 활성화가 가능합니다.
  • QueryDSL 과 Pagenation을 활용하여 동적 쿼리작성이 가능하도록 구현하였습니다.
  • FeignClient를 활용하여 MSA 환경에서의 통신을 구현하였습니다.
  • PageableArgumentResolver를 커스텀하며 파라미터의 중복을 줄이며 Login 어노테이션을 만들어 헤더로부터 전달받은 값들을 편리하게 쓰도록 변형하였습니다.
  • Google Maps API를 활용하여 각 주소의 위치 좌표를 추출하며, 실시간 도로 정보를 기반으로 이동 시간을 반환합니다.



📃 적용 기술

Redis

slack 인증 시 인증 코드를 Redis에 저장하여 TimeToLive를 설정했으며, DB에 접근하지 않아도 되도록 했습니다.

허브 경로에 대한 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 작업이 발생할 때마다 Redis에 해당 경로 데이터를 캐싱하여 성능을 최적화합니다.

QueryDSL

정렬, 검색어 등에 따른 동적 쿼리 작성을 위하여 QueryDSL 도입하여 활용했습니다.

FeignClient

MSA 환경에서 FeignClient를 사용하는 이유는 서비스 간 통신을 간편하게 관리하고 REST API 호출을 추상화하여 개발 생산성을 높이기 위해 활용했습니다.

Zipkin

분산 트레이싱을 통해 MSA 환경에서 각 서비스의 요청 흐름을 추적하고 성능 문제를 진단하기 위해 사용됩니다.

Grafana

MSA 환경에서 수집된 메트릭 데이터를 시각화하여 시스템 모니터링과 성능 분석을 직관적으로 할 수 있게 사용됩니다.



🚨 트러블 슈팅



✏ ERD

image



💡 기술 스택

  • Java Spring Data JPA Spring Gateway
    Spring Cloud Eureka Resilience4j JWT Gradle
  • PostgreSQL
  • GitHub Slack IntelliJ IDEA Postman Notion
  • Google Gemini

  • Zipkin Prometheus Grafana

Pinned Loading

  1. .github .github Public

Repositories

Showing 7 of 7 repositories
  • plj-hub-user Public
    pljHub/plj-hub-user’s past year of commit activity
    Java 0 0 0 0 Updated Sep 30, 2024
  • plj-hub-order Public

    Order는 루트 애그리거트 , Delivery, ProductOrder, DeliveryRecord는 하위 엔티티

    pljHub/plj-hub-order’s past year of commit activity
    Java 0 0 0 0 Updated Sep 23, 2024
  • plj-hub-hub Public
    pljHub/plj-hub-hub’s past year of commit activity
    Java 0 0 0 0 Updated Sep 19, 2024
  • pljHub/plj-hub-gateway’s past year of commit activity
    Java 0 0 0 0 Updated Sep 19, 2024
  • pljHub/plj-hub-aislack’s past year of commit activity
    Java 0 0 0 0 Updated Sep 19, 2024
  • .github Public
    pljHub/.github’s past year of commit activity
    0 0 0 0 Updated Sep 19, 2024
  • pljHub/plj-hub-erueka-server’s past year of commit activity
    Java 0 0 0 0 Updated Sep 10, 2024

Top languages

Loading…

Most used topics

Loading…