Skip to content

se7en-e11even/eleven-logistics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

277 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฆ eleven-logistics

๊ตญ๋‚ด B2B ๋ฌผ๋ฅ˜ ๊ด€๋ฆฌ ๋ฐ ๋ฐฐ์†ก ์‹œ์Šคํ…œ์„ ์œ„ํ•œ MSA ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋„๋ณ„ ๊ณต๊ธ‰ ํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด ์ฃผ๋ฌธ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฌผ๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ์žฌ๊ณ  ์ด๋™์œผ๋กœ ์ฃผ๋ฌธํ•œ ์—…์ฒด๊ฐ€ ์ตœ์ข… ์ˆ˜๋ นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ํŒ€์› ์—ญํ• ๋ถ„๋‹ด

์ž„์Šนํƒ ๋ฐฑ์Šน๊ทœ ์˜ค์—ฐ์ฃผ ํ•œ์„๊ทœ
BE / Order / Product BE / Slack / Company / Hub BE / Delivery / D_Route / D_Person BE / User / Hub_Route / Auth

๐Ÿ“Œ ์„œ๋น„์Šค ๊ตฌ์„ฑ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•

  • ์„œ๋น„์Šค ๊ตฌ์„ฑ

แ„‰แ…ฅแ„‡แ…ตแ„‰แ…ณแ„€แ…ฎแ„‰แ…ฅแ†ผ

  • ์‹คํ–‰ ๋ฐฉ๋ฒ•

- GoogleAI(Gemini) token, Slack token, Naver OpenAPI secret key ๋ฐœ๊ธ‰์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

1. docker๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

2. ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ git clone์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

3. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

git clone https://github.com/se7en-e11even/eleven-logistics.git

4. docker-compose.yml ํŒŒ์ผ์„ ์•Œ๋งž์€ ์œ„์น˜์— ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • docker-compose.yml
version: "3.8"
services:

  db:
    image: "postgres:16.3"
    container_name: "postgres"
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=eleven-logistics
      - POSTGRES_PASSWORD=1234
      - POSTGRES_DB=eleven-logistics
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - ./init-scripts:/docker-entrypoint-initdb.d

  rabbitmq:
    image: rabbitmq:management
    container_name: "rabbitmq"
    ports:
      - "15672:15672"

  redis:
    image: redis/redis-stack
    container_name: "redis"
    ports:
      - "8001:8001"
      - "6379:6379"

  zipkin:
    image: openzipkin/zipkin
    container_name: "zipkin"
    ports:
      - "9411:9411"

volumes:
  postgres_data:

5. ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

docker-compose up -d

6. key์™€ token์„ค์ •์„ ๋งˆ์นœ ๋’ค, ๋‹ค์Œ์˜ ์ˆœ์„œ๋Œ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • eureka service ์‹คํ–‰
  • gateway service ์‹คํ–‰
  • auth service ์‹คํ–‰
  • delivery, hub, hub-route, order, product, slack ์‹คํ–‰

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๋ชฉ์ 

  • MSA(Microservices Architecture) ๊ธฐ๋ฐ˜์˜ ๋ฌผ๋ฅ˜ ๊ด€๋ฆฌ ๋ฐ ๋ฐฐ์†ก ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
  • Spring Cloud & Spring Boot๋ฅผ ํ™œ์šฉํ•˜์—ฌ MSA ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
  • ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ ๋ฐ DDD๋ฅผ ์ ์šฉํ•ด ํ™•์žฅ, ์œ ์ง€๋ณด์ˆ˜์— ์ข‹์€ ์„ค๊ณ„
  • API ์—ฐ๋™, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€, ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ์•ˆ์ •์„ฑ ํ™•๋ณด
  • Gemini API๋ฅผ ํ™œ์šฉํ•œ AI ๊ธฐ์ˆ  ์ ์šฉ ๊ฒฝํ—˜
  • Github์˜ ์ด์Šˆ๋ฐœํ–‰, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋“ฑ์„ ํ™œ์šฉํ•œ ์‹ค๋ฌด ์ˆ˜์ค€์˜ ํ˜‘์—… ๊ฒฝํ—˜
  • MSA์˜ ๋ณต์žก์„ฑ๊ณผ ์šด์˜ ์ด์Šˆ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ ๋ฐฐ์–‘ แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณแ„†แ…ฉแ†จแ„Œแ…ฅแ†จ

๐Ÿ“Œ System Architecture

แ„‹แ…ตแ†ซแ„‘แ…ณแ„…แ…ก แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ

๐Ÿ“Œ ERD

erd


๐Ÿ“Œ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๋ฉ”์‹œ์ง€ ์‹œ์Šคํ…œ ๋„์ž…์— ๊ด€ํ•œ ๊ณ ๋ฏผ

image


๐Ÿ“Œ ๊ธฐ์ˆ  ์Šคํƒ

  • ๋ฐฑ์—”๋“œ: Spring Boot 3.4.3
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: PostgreSQL
  • ๋นŒ๋“œ ํˆด: Gradle
  • API ๋ฌธ์„œํ™”: Swagger + RestDoc ํ†ตํ•ฉ
  • API ๊ฒŒ์ดํŠธ์›จ์ด: Spring Cloud Gateway
  • ๋ฉ”์‹œ์ง€ ์‹œ์Šคํ…œ: RabbitMQ
  • ๋ถ„์‚ฐ ์ถ”์ : Zipkin
  • Cache: Redis
  • ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ: Spring Cloud Eureka
  • ๋ฒ„์ „ ๊ด€๋ฆฌ: Git / GitHub
  • ์ปจํ…Œ์ด๋„ˆ: Docker


๐Ÿ“Œ API docs

Swagger ๋ฌธ์„œ ์ž๋™ํ™”: Swagger + RestDocs

๊ฐ ์„œ๋น„์Šค์˜ Swagger ๋ฌธ์„œ๋ฅผ gateway๋กœ ํ†ตํ•ฉํ•˜์—ฌ ์ œ๊ณต http://localhost:19091/docs

About

๐Ÿญcoopang์„ ์ด๊ธด 11-logistics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages