Gradle 기반 마이크로서비스 아키텍처로, 상품 주문까지 가능한 완전한 전자상거래 시스템입니다.

- 👤 사용자 관리: 회원가입, 조회, 삭제
- 📦 상품 관리: 상품 등록, 재고 관리, 카테고리 검색
- 🛒 장바구니: 상품 담기, 수량 관리
- 📋 주문 처리: 실시간 주문 생성, 재고 자동 차감
Frontend (React) API Gateway Eureka Server
:3000 → :8080 ← :8761
│
┌────────────────┼────────────────┐
▼ ▼ ▼
User Service Product Service Order Service
:8081 :8082 :8083
│
▼
Product Service
(OpenFeign)
File → Open → MSA/build.gradle 선택 → Open as Project
1️⃣ EurekaServerApplication (8761) - 서비스 발견 서버
2️⃣ UserServiceApplication (8081) - 사용자 관리 서비스
3️⃣ ProductServiceApplication (8082) - 상품 관리 서비스
4️⃣ OrderServiceApplication (8083) - 주문 관리 서비스
5️⃣ GatewayApplication (8080) - API 게이트웨이
cd frontend
npm install
npm start- 🎨 메인 앱: http://localhost:3000 (탭 기반 UI)
- 📊 Eureka 대시보드: http://localhost:8761 (서비스 상태 확인)
- 🔗 API 테스트:
- Gradle 8.10 (멀티모듈 빌드)
- Java 17 (LTS 버전)
- Spring Boot 3.2 (마이크로서비스 프레임워크)
- Spring Cloud Gateway (API 라우팅)
- Netflix Eureka (서비스 발견)
- Spring Cloud OpenFeign (서비스 간 통신)
- H2 Database (인메모리 DB)
- React 18 (최신 Hook 기반)
- Axios (HTTP 클라이언트)
- CSS Grid & Flexbox (반응형 레이아웃)
- ✅ 서비스 발견 패턴 (Eureka Server/Client)
- ✅ API 게이트웨이 패턴 (단일 진입점)
- ✅ 서비스 간 통신 (OpenFeign 선언적 HTTP 클라이언트)
- ✅ 데이터베이스 per 서비스 (각 서비스별 독립 DB)
- ✅ 완전한 Gradle 멀티모듈 (Maven 완전 제거)
- ✅ Java 17 호환성 (이전 Java 22 문제 해결)
- ✅ @PathVariable 정상 작동 (
-parameters컴파일 옵션) - ✅ CORS 완벽 설정 (프론트엔드 통합)
- ✅ 탭 기반 직관적 UI (사용자/상품/장바구니/주문)
- ✅ 실시간 장바구니 기능
- ✅ 자동 재고 관리 (주문 시 재고 차감)
- ✅ 반응형 모바일 UI
- Eureka: http://localhost:8761 (5개 서비스 등록 확인)
- API 직접 호출: Postman으로 각 엔드포인트 테스트
- 사용자 등록: 이름, 이메일로 회원가입
- 상품 등록: 다양한 상품들 추가 (가격, 재고 포함)
- 장바구니 사용: 여러 상품을 장바구니에 추가
- 주문 생성: 장바구니에서 실제 주문으로 전환
- 재고 확인: 주문 후 상품 재고 자동 차감 확인
- 주문 조회: 생성된 주문 상세 정보 확인
- 서비스 간 통신: Order Service → Product Service (Feign)
- 트랜잭션 롤백: 주문 실패 시 재고 복구
- 동시성 테스트: 여러 사용자가 동시에 주문
- 완전한 아키텍처 가이드: 상세한 기술 문서
- 프론트엔드 사용법: UI 사용 가이드
향후 추가 가능한 기능들:
- 🔄 Circuit Breaker (장애 격리)
- 🔄 분산 추적 (Zipkin)
- 🔄 중앙화 로깅 (ELK Stack)
- 🔄 보안 인증 (JWT, OAuth2)
- 🔄 메시지 큐 (RabbitMQ)
완전한 상용 수준의 마이크로서비스 전자상거래 시스템입니다! 🛍️✨