프로그래머스 데브코스 과정을 끝내고 개인 역량이 부족하다고 생각되고, 포트폴리오도 특출난 뭔가가 없는것 같아서 개인 프로젝트를 진행 하려고 한다.
본 프로젝트는 Spring Boot 기반 이커머스 서비스를 구현하는 것을 목표로 한다.
사용자는 상품을 조회하고 장바구니에 담아 주문할 수 있으며, 관리자는 상품 및 주문을 관리할 수 있다.
목표
• RESTful API 기반 이커머스 서비스 구현
• 사용자 → 상품 → 장바구니 → 주문 흐름 설계
• 확장 가능한 구조 설계 (MSA 고려 가능)
회원가입 → 로그인 → 상품 조회 → 장바구니 담기 → 주문 → 결제(확장 예정)
• Backend: Spring Boot (Java)
• DB: MariaDB
• Cache: Redis
• Infra: Docker
• 인증: JWT (예정)
• 회원가입
• 로그인 (예정)
• 사용자 정보 조회
• 상품 등록 (관리자)
• 상품 목록 조회
• 상품 상세 조회
• 카테고리 기반 조회
• 카테고리 생성
• 계층형 구조 (parent_id)
• 장바구니 생성
• 상품 담기
• 수량 변경
• 삭제
• 장바구니 조회
• 주문 생성
• 주문 상품 저장
• 총 금액 계산
• 주문 상태 관리
• 상품별 이미지 관리
• 썸네일 여부 관리
• 정렬 순서 관리
| 도메인 | 기능 | Method | URL | Request | Response |
|---|---|---|---|---|---|
| User | 회원가입 | POST | /api/users | email, password, name, phone | userId |
| User | 사용자 조회 | GET | /api/users/{userId} | - | user 정보 |
| Product | 상품 등록 | POST | /api/products | name, price, stock, categoryId | productId |
| Product | 상품 목록 조회 | GET | /api/products | - | 상품 리스트 |
| Product | 상품 상세 조회 | GET | /api/products/{productId} | - | 상품 상세 |
| Cart | 장바구니 담기 | POST | /api/cart/items | productId, quantity | cartItemId |
| Cart | 장바구니 조회 | GET | /api/cart | - | 장바구니 리스트 |
| Cart | 수량 변경 | PUT | /api/cart/items/{cartItemId} | quantity | 성공 여부 |
| Cart | 장바구니 삭제 | DELETE | /api/cart/items/{cartItemId} | - | 성공 여부 |
| Order | 주문 생성 | POST | /api/orders | receiverName, receiverPhone, address | orderId |
| Order | 주문 조회 | GET | /api/orders/{orderId} | - | 주문 상세 |