B2B 기반의 물류 시스템
| 분류 | 상세 |
|---|---|
| IDE | IntelliJ, Datagrip |
| Language | Java 17 |
| Framework | Spring Boot 3.3.3, Spring Cloud 2023.0.3 |
| Repository | H2 In-memory, MySQL 8.0.35 |
| Build Tool | Gradle 8.10 |
| Spring | Data | Cloud | Monitoring | test | ETC |
|---|---|---|---|---|---|
| Spring Web | Spring Data JPA | Spring Cloud Gateway | Micrometer Tracing | JUnit | Lombok |
| Spring Validation | Spring Data Redis | Spring Cloud Eureka | Micrometer Openfeign | Testcontainers | JJWT |
| Spring Security | Spring Kafka | Spring Cloud OpenFeign | Micrometer Zipkin | wireMock | QueryDSL |
| Spring Boot Actuator | Micrometer Prometheus | Swagger | |||
| JIB |
| Repository | Monitoring |
|---|---|
| MySQL 8.0.35 | Zipkin |
| Redis 7.4 | prometheus |
| Kafka 3.3 | alert manager |
| node exporter | |
| cadvisor | |
| grafana |
docker compose up -d./build.sh./deploy.sh./stop.shFulflix API Count Summary
==========================
Module: [auth - app] - Total APIs : 4
├── GET: 1
├── POST: 3
Module: [company - app] - Total APIs : 9
├── GET: 6
├── POST: 1
├── PUT: 1
└── DELETE: 1
Module: [delivery - app] - Total APIs : 13
├── GET: 6
├── POST: 3
├── PUT: 2
└── DELETE: 2
Module: [hub - app] - Total APIs : 15
├── GET: 7
├── POST: 4
├── PUT: 2
└── DELETE: 2
Module: [order - app] - Total APIs : 16
├── GET: 7
├── POST: 5
├── PUT: 3
└── DELETE: 1
Module: [product - app] - Total APIs : 11
├── GET: 6
├── POST: 1
├── PUT: 3
└── DELETE: 1
Module: [user - app] - Total APIs : 6
├── GET: 4
├── POST: 1
└── DELETE: 1
==========================
Overall API Count
==========================
Total APIs : 74
├── GET: 37
├── POST: 18
├── PUT: 11
└── DELETE: 8
==========================
Implementation Rate : 100.00 % of 74 designed APIs
- 다익스트라 알고리즘을 이용한 허브 간 최단 경로 산출
- Naver Map Directions 5 API를 이용한 허브간 실제 거리, 예상 이동 거리, 소요 기간 산출
- 허브/허브 경로 서비스 구현
- 배송/배송 경로 서비스 구현
- 디자인 패턴을 이용한 권한 별 로직 분리
- 주문 서비스 구현
- 주문 시 재고 관리(차감/원복)
- 업체 서비스 구현
- 상품 서비스 구현
- ThreadLocal 기반의 Custom Context Holder 구현
- 모니터링 환경 구성
- 공통 모듈 구현
- GW 구현
- 회원 서비스 구현
- jib을 이용한 local 환경 Dockerizing
- 일관된 테스트 실행 환경 구성
- ThreadLocal 기반의 Custom Context Holder 구현