Skip to content

FocusCrew-4/sparta_Logistics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

375 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ ν‚΅κ³ μž‰λ‘œμ§€ (Keep Going Logi)

MSA 기반 λ¬Όλ₯˜ 관리 λŒ€κ·œλͺ¨ AI μ‹œμŠ€ν…œ


πŸ“˜ 1. ν”„λ‘œμ νŠΈ μ†Œκ°œ

πŸ’‘ ν”„λ‘œμ νŠΈ κ°œμš”

ν‚΅κ³ μž‰λ‘œμ§€(Keep Going Logi) λŠ” κΈ°μ—… κ°„ 거래(B2B) ν™˜κ²½μ—μ„œ 효율적인 ν—ˆλΈŒ 쀑심 λ¬Όλ₯˜ 및 배솑 관리λ₯Ό λͺ©ν‘œλ‘œ ν•˜λŠ” μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
ν—ˆλΈŒλ₯Ό μ€‘μ‹¬μœΌλ‘œ 재고λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κ³ , μ£Όλ¬Έ λ°œμƒ μ‹œ ν—ˆλΈŒ κ°„ 이동 β†’ μ΅œμ’… λ°°μ†‘κΉŒμ§€μ˜ μ „ 과정을 λ‹¨κ³„λ³„λ‘œ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ³Έ μ‹œμŠ€ν…œμ€ Spring Boot와 Spring Cloud (Eureka, Gateway, Config) λ₯Ό 기반으둜 MSA ꡬ쑰λ₯Ό κ΅¬ν˜„ν•˜μ—¬, 각 μ„œλΉ„μŠ€κ°€ λ…λ¦½μ μœΌλ‘œ 배포 및 ν™•μž₯될 수 μžˆλ„λ‘ κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ Java 21, Spring Boot 3.5.7, PostgreSQL을 기반으둜 κ°œλ°œλ˜μ—ˆμœΌλ©°, JWT 인증으둜 μ„œλΉ„μŠ€ κ°„ ν†΅μ‹ μ˜ λ³΄μ•ˆμ„±μ„ κ°•ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
Dockerfile을 ν™œμš©ν•΄ μ»¨ν…Œμ΄λ„ˆ λ‹¨μœ„λ‘œ λΉŒλ“œ 및 λ°°ν¬ν•¨μœΌλ‘œμ¨, ν™˜κ²½μ— 관계없이 μΌκ΄€λœ μ‹€ν–‰ ν™˜κ²½μ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
Kafkaλ₯Ό 톡해 μ£Όλ¬Έ 이벀트λ₯Ό λ°œν–‰ 및 κ΅¬λ…ν•˜μ—¬ μ‹€μ‹œκ°„ μ•Œλ¦Ό 및 μ„œλΉ„μŠ€ κ°„ 연동성을 κ°•ν™”ν–ˆμŠ΅λ‹ˆλ‹€.


🎯 개발 λͺ©ν‘œ

β€œμ™„μ„±λœ 결과물보닀 κ³Όμ • 속 ν•™μŠ΅κ³Ό μ„±μž₯에 μ΄ˆμ β€

우리 νŒ€μ˜ λͺ©ν‘œλŠ” 완성보닀 κ³Όμ •μ—μ„œμ˜ ν•™μŠ΅κ³Ό μ„±μž₯에 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
MSA 기반의 λ¬Όλ₯˜ 관리 μ‹œμŠ€ν…œμ„ 직접 μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν•˜λ©°,
μ„œλΉ„μŠ€ 뢄리, 데이터 연동, νŠΈλžœμž­μ…˜ 처리, ν˜‘μ—… 문제 해결을 직접 κ²½ν—˜ν•˜κ³  κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.


🧩 기술 μŠ€νƒ

ꡬ뢄 기술
Backend Java 21, Spring Boot 3.5.7 (Eureka, Gateway, Config)
Infra Docker
Database PostgreSQL
Messaging Queue Kafka
Test Mockito, JUnit
API Docs Swagger 2.8.14
Version Control Git
Architecture & Methodology Domain-Driven Design (DDD)

πŸ‘₯ λ‹΄λ‹Ή μ—­ν• 

이름 μ—­ν•  λ‹΄λ‹Ή 도메인
μ†‘μ˜ν˜„ νŒ€μ› νšŒμ›, κ²Œμ΄νŠΈμ›¨μ΄, Auth
μ•ˆμ§€ν˜„ νŒ€μ› ν—ˆλΈŒ
λ₯˜ν˜•μ„  νŒ€μ› 배솑
유영우 기술 리더 μ£Όλ¬Έ, μ•Œλ¦Ό
μœ€ν˜œμ§€ νŒ€μž₯ 업체, μƒν’ˆ

πŸ—οΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

keepgoingα„‹α…‘α„α…΅α„α…¦α†¨α„Žα…₯α„‹α…΅α„†α…΅α„Œα…΅

🧱 ERD

keepgoingerd

πŸ—ΊοΈ Context Map

keepgoingcontextmap

🧩 2. ν”„λ‘œμ νŠΈ μ‹€ν–‰ 방법

πŸŒ€ git clone

git clone https://github.com/FocusCrew-4/sparta_Logistics.git

πŸ› οΈ Project Build

gradle build --continue // ν•œ ν”„λ‘œμ νŠΈμ—μ„œ λΉŒλ“œκ°€ μ‹€νŒ¨ν•˜λ”λΌλ„, λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ˜ λΉŒλ“œλ₯Ό 계속 μ§„ν–‰

🐳 Docker μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰

docker compose up -d --build

βš™οΈ 3. μ£Όμš” κΈ°λŠ₯

πŸ”‘ 핡심 도메인별 API

πŸ“„ API λͺ…μ„Έμ„œ λ°”λ‘œκ°€κΈ°

μ£Όμš” κΈ°λŠ₯ μš”μ•½

  • QueryDSL 기반 동적 검색 κΈ°λŠ₯
  • Gateway 둜컬 μΊμ‹œ Logout 관리 β†’ Redis μ‚¬μš© λŒ€λΉ„ 응닡 속도 및 λ„€νŠΈμ›Œν¬ I/O λΉ„μš© 절감
    (μΆ”ν›„ Redis Pub/Sub으둜 μΊμ‹œ 일관성 확보 μ˜ˆμ •)
  • ν—ˆλΈŒ 검색 κΈ°λŠ₯: Specification 기반의 κ±°λ¦¬Β·μ†Œμš”μ‹œκ°„Β·μΆœλ°œ/도착 ν—ˆλΈŒ 동적 μ‘°ν•© 검색
  • μ£Όλ¬Έ μƒνƒœ 기반 섀계
    • μƒνƒœ 전이λ₯Ό λͺ…ν™•νžˆ μ œμ–΄
    • DB νŠΈλžœμž­μ…˜κ³Ό μ™ΈλΆ€ API ν˜ΈμΆœμ„ λΆ„λ¦¬ν•˜μ—¬ 경계 λͺ…ν™•ν™”
    • 보상 νŠΈλžœμž­μ…˜ κ΅¬ν˜„μœΌλ‘œ μ‹€νŒ¨ μ‹œ μƒνƒœ 볡원 κ°€λŠ₯
  • ν…ŒμŠ€νŠΈ μ½”λ“œ 적용으둜 μ‹œμŠ€ν…œ μ•ˆμ •μ„± 확보
  • 곡톡 응닡 처리 κ΅¬μ‘°ν™”λ‘œ μΌκ΄€λœ μ‚¬μš©μž κ²½ν—˜ 제곡

🧭 4. 회고

🀝 ν˜‘μ—… 방식 및 Git 관리

  • 맀일 11μ‹œ 데일리 슀크럼 μ§„ν–‰

    • μ „λ‚  μž‘μ—… λ‚΄μš© / 였늘 κ³„νš 곡유
    • μ§„ν–‰ 상황 점검 및 이슈 곡유
  • μ†Œν†΅ 방식

    • Slack + GitHub Issues둜 μž‘μ—… ν˜„ν™© 곡유
    • 컀밋 λ©”μ‹œμ§€μ— 이슈 번호 포함
    • μ΅œμ†Œ 1인 이상 μ½”λ“œ 리뷰 ν›„ develop 브랜치 병합
    • main λΈŒλžœμΉ˜λŠ” νŒ€μ› 전원 μ°Έμ—¬ ν•˜μ— 병합
    • Notion λŒ€μ‹œλ³΄λ“œλ‘œ ERD, Context Map, API λͺ…μ„Έ, νŠΈλŸ¬λΈ”μŠˆνŒ… μ‹€μ‹œκ°„ 곡유

πŸͺ΅ Branch μ „λž΅

브랜치 μš©λ„
main 배포용
develop 톡합 개발 브랜치
feature/* κΈ°λŠ₯ λ‹¨μœ„ 개발
refactor/* λ¦¬νŒ©ν† λ§ 브랜치

🌟 잘 ν•œ 점

  • 맀일 μŠ€ν¬λŸΌμ„ 톡해 투λͺ…ν•œ μ§„ν–‰ 곡유 및 λΉ λ₯Έ ν”Όλ“œλ°±
  • 초기 섀계에 μΆ©λΆ„νžˆ 집쀑 β†’ 이후 개발 λ°©ν–₯μ„± λͺ…ν™•
  • Context Map 기반으둜 도메인 μ—­ν• κ³Ό μ±…μž„ λͺ…ν™•ν™”
  • λ™μΌν•œ 개발 ν™˜κ²½ μ„ΈνŒ…μœΌλ‘œ ν˜‘μ—… 효율 κ·ΉλŒ€ν™”
  • μ‹€μ‹œκ°„ νŽ˜μ–΄ν”„λ‘œκ·Έλž˜λ°μ„ ν†΅ν•œ νŠΈλŸ¬λΈ”μŠˆνŒ… μ—­λŸ‰ ν–₯상
  • 초기 일정 쑰율둜 ν”„λ‘œμ νŠΈ 마감 μ‹œμ μ— MVP μ™„μ„±

βš”οΈ ν˜‘μ—… 쀑 λ°œμƒν•œ λ¬Έμ œμ™€ ν•΄κ²°

πŸ’­ DDD κ°œλ… 이해 차이

  • νŒ€μ›λ§ˆλ‹€ λ‹€λ₯Έ ν•΄μ„μœΌλ‘œ 인해 μ˜μ‚¬μ†Œν†΅ ν˜Όμ„  λ°œμƒ
    ➑️ DDD κ°œλ…μ„ ν•¨κ»˜ ν•™μŠ΅ν•˜κ³  μ •μ˜ ν†΅μΌλ‘œ ν•΄κ²°

πŸ”„ μš©μ–΄ 좩돌 문제

  • 같은 μš©μ–΄λ₯Ό λ‹€λ₯΄κ²Œ ν•΄μ„ν•˜μ—¬ 좩돌 λ°œμƒ
    ➑️ Context Map 기반으둜 μ—­ν•  λͺ…ν™•ν™”,
    μ–Έμ–΄ μž¬μ •μ˜ 및 경계 ꡬ뢄을 톡해 ν•΄κ²°

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors