ecommerce-microservices

(β˜… 373)

⚑️ Microservice Architecture with system for e-commerce project! Spring Boot microservices app with πŸŒ€ Spring Cloud, Robust and resilient backend managing e-Commerce app... ❄️ Using Kafka Client, kafka server send message, Reactive Programming with WebFlux - Project Reactor.

  • .dockerignore
  • .env
  • .gitattributes
  • .gitignore
  • .whitesource
  • docker-compose.yml
  • k3d-config.yaml
  • k3d-setup.sh
  • LICENSE
  • Makefile
  • pom.xml
  • README.md
  • renovate.json
  • SECURITY.md
  • start-ecommerce.bat
  • start-ecommerce.sh

πŸš€ μ„€μΉ˜ κ°€μ΄λ“œ

1. μ½”λ“œ λ‚΄λ €λ°›κΈ°
git clone https://github.com/hoangtien2k3/ecommerce-microservices

κΉƒν—ˆλΈŒμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œ 전체λ₯Ό λ‚΄ μ»΄ν“¨ν„°λ‘œ λ‚΄λ €λ°›μŠ΅λ‹ˆλ‹€.

cd ecommerce-microservices

방금 내렀받은 ν”„λ‘œμ νŠΈ 폴더 μ•ˆμœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

2. Docker

쉬움 μΆ”μ²œ
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Docker Desktop μ»¨ν…Œμ΄λ„ˆλ₯Ό λΉŒλ“œν•˜κ³  μ‹€ν–‰ν•˜λ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€. μ„€μΉ˜ ν›„ μ‹€ν–‰ν•΄μ„œ λ°±κ·ΈλΌμš΄λ“œμ— μΌœλ‘μ„Έμš”.
β”œβ”€β”€ docker/

이 λͺ…λ Ήμ–΄λ₯Ό 터미널에 κ·ΈλŒ€λ‘œ μž…λ ₯ν•΄ μ‹€ν–‰ν•˜μ„Έμš”.

β”œβ”€β”€ docker-compose.yml # Full-stack local orchestration

compose μ„€μ • νŒŒμΌμ— μ •μ˜λœ μ„œλΉ„μŠ€λ“€μ„ λŒ€μƒμœΌλ‘œ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

βœ… 터미널에 docker compose ps λ₯Ό μž…λ ₯ν•΄ μ»¨ν…Œμ΄λ„ˆλ“€μ΄ Up μƒνƒœμΈμ§€ ν™•μΈν•˜μ„Έμš”. README에 포트 λ²ˆν˜Έκ°€ μ ν˜€μžˆλ‹€λ©΄ λΈŒλΌμš°μ €μ—μ„œ http://localhost:포트번호 둜 μ ‘μ†ν•΄λ³΄μ„Έμš”.

이 레포의 README에 적힌 μ‹€μ œ λͺ…λ Ήμ–΄λ₯Ό κ·ΈλŒ€λ‘œ κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.

3. Maven (Java)

보톡
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • JDK (Java) Java ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œ/μ‹€ν–‰ν•˜λ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Maven mvn λͺ…λ Ήμ–΄λ₯Ό μ“°κΈ° μœ„ν•œ λΉŒλ“œ λ„κ΅¬μž…λ‹ˆλ‹€.
cd auth-service

이 ν”„λ‘œμ νŠΈμ˜ κ΄€λ ¨ 파일이 ν•˜μœ„ 폴더 μ•ˆμ— μžˆμ–΄μ„œ, λ¨Όμ € κ·Έ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

mvn clean install

Maven으둜 μ˜μ‘΄μ„± μ„€μΉ˜μ™€ λΉŒλ“œλ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€.

βœ… BUILD SUCCESS λ©”μ‹œμ§€κ°€ 뜨면 μ„±κ³΅μž…λ‹ˆλ‹€. target/ 폴더에 결과물이 μƒμ„±λ©λ‹ˆλ‹€.

4. Node.js

쉬움
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Node.js npm λͺ…λ Ήμ–΄λ₯Ό μ“°λ €λ©΄ Node.jsκ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. LTS(μž₯기지원) 버전을 μΆ”μ²œν•©λ‹ˆλ‹€.
cd frontend/apps/admin

이 ν”„λ‘œμ νŠΈμ˜ κ΄€λ ¨ 파일이 ν•˜μœ„ 폴더 μ•ˆμ— μžˆμ–΄μ„œ, λ¨Όμ € κ·Έ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

npm install

package.json에 λͺ…μ‹œλœ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ λ‚΄λ €λ°›μ•„ μ„€μΉ˜ν•©λ‹ˆλ‹€.

npm start

개발/μ‹€ν–‰ μ„œλ²„λ₯Ό μΌ­λ‹ˆλ‹€.

βœ… λͺ…λ Ήμ–΄ μ‹€ν–‰ ν›„ 터미널에 λ‚˜νƒ€λ‚˜λŠ” μ£Όμ†Œ(보톡 http://localhost:3000 ν˜•νƒœ)λ₯Ό λΈŒλΌμš°μ €μ—μ„œ μ—΄μ–΄λ³΄μ„Έμš”.

5. Make

보톡
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Make Linux/macOSλŠ” 보톡 κΈ°λ³Έ μ„€μΉ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. WindowsλŠ” 별도 μ„€μΉ˜(예: MSYS2, WSL)κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
make

μƒμ„±λœ λΉŒλ“œ 섀정을 λ°”νƒ•μœΌλ‘œ μ‹€μ œ μ»΄νŒŒμΌμ„ μ§„ν–‰ν•΄ μ‹€ν–‰ νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.

βœ… μ—λŸ¬ 없이 λλ‚˜λ©΄ μ„±κ³΅μž…λ‹ˆλ‹€. μƒμ„±λœ μ‹€ν–‰ νŒŒμΌμ„ 직접 μ‹€ν–‰ν•΄λ³΄μ„Έμš”.
// repository documentation