-
설명: 이 프로젝트는 유저가 책을 구매하고 리뷰와 평점을 남길 수 있는 온라인 서점 시스템입니다.
-
목적: 기본적인 상거래 기능과 RESTful API 설계 능력을 확인하고, 데이터베이스 설계와 깃헙을 이용한 협업 및 버전 관리 능력을 증명하는데 있습니다.
- Back-end: Java 17+, Spring Boot 3.x.x
- Database: MySQL, JPA
- API: RESTful API
- 기타: Spring Scheduler(배송 상태 자동 업데이트)
- 사용자가 장바구니에 담긴 상품을 주문으로 전환하고, 결제 후 상태가 자동으로 업데이트됩니다.
- 구매한 책에 한해 리뷰와 평점을 남길 수 있으며, 한 사람당 하나의 리뷰만 작성 가능합니다.
- 회원가입, 로그인, JWT를 통한 인증 및 권한 관리.
- 구매일을 기준으로, 1일 후에 '배송 중', 2일 후에 '발송 완료'로 상태가 자동 변경됩니다.
- 카테고리별 책 조회, 정렬, 할인 책 조회 기능 제공 및 구매 패턴을 반영한 추천 기능.
- Users: 사용자 정보 저장
- Books: 책 정보 저장
- Books_category: 책과 카테고리 매핑 정보 저장
- Categories: 책 카테고리
- Orders: 주문 정보 관리
- Order_items: 주문 상품 목록 관리
- Reviews: 리뷰 정보 관리
DOMAIN : http://localhost:4000
- /api/v1/auth
- /api/v1/users
- /api/v1/books
- /api/v1/orders
- 스케줄러: Spring Scheduler를 이용해 매일 정해진 시간에 주문 상태를 자동으로 업데이트.
- src/main/java: 주요 코드
- controller: 요청을 처리하는 컨트롤러
- service: 비즈니스 로직을 처리하는 서비스 계층
- repository: 데이터 접근을 담당하는 계층
- src/main/resources: 설정 파일 및 SQL 스크립트
- JDK 17 이상
- MySQL 데이터베이스 설정
- Postman을 활용하여 API를 테스트합니다.