사용자가 책을 등록하고, 각 책에 대해 별점을 매기고 리뷰를 남길 수 있는 RESTful API를 제공합니다
- 독서 리스트 관리: 사용자가 자신의 리스트에 책을 추가하고, 책의 읽기 상태(읽기 전, 읽는 중, 중단 등)를 관리할 수 있습니다.
- 독서 노트 작성: 리스트에 추가한 책에 대해 나만의 메모를 작성할 수 있으며, 해당 메모는 본인만 접근 가능합니다.
- 별점 및 한줄평 공유: 사용자가 책에 별점을 부여하고, 한줄평을 작성하여 다른 사용자들과 책 후기를 공유할 수 있습니다.
이 프로젝트는 Spring Boot 백엔드 애플리케이션, MySQL 데이터베이스, Redis 캐시 데이터베이스를 Docker 컨테이너로 구성하고,
GitHub Actions를 활용하여 AWS EC2에 자동으로 배포를 수행합니다.
- JDK: Version 17
- 프레임워크: Spring Boot 3.3.2
- 데이터베이스: MySQL, Redis
- 빌드 도구: Gradle
- 배포: AWS EC2, Docker
- CI/CD: GitHub Actions

- Member: 사용자의 정보를 관리합니다.
- Book: 책의 제목, 출판사 등 기본 정보를 관리합니다.
- MemberBook: 사용자의 독서 기록을 관리합니다.
- Review: 사용자가 책에 남긴 한줄평과 별점 정보를 관리합니다.
- (🔒 인증 필요) 표시가 있는 엔드포인트는 인증된 사용자만 접근할 수 있습니다. 이 API는 세션(인메모리 방식)을 통해 인증을 수행합니다.
/books
GET
: 모든 책의 목록을 조회합니다.POST
: 새로운 책을 등록합니다. (🔒 인증 필요)
/books/{id}
PATCH
: 특정 책 정보의 제목을 수정합니다. (🔒 인증 필요)DELETE
: 특정 책을 삭제합니다. (🔒 인증 필요)
/my-books
GET
: 사용자가 추가한 모든 개인 책의 목록을 조회합니다. (🔒 인증 필요)POST
: 사용자가 개인 책을 나의 리스트에 추가합니다. (🔒 인증 필요)
/my-books/{id}
GET
: 특정 개인 책의 상세 정보를 조회합니다. (🔒 인증 필요)POST
: 특정 개인 책의 읽기 상태(읽기 전, 읽는 중, 중단 등)를 수정합니다. (🔒 인증 필요)DELETE
: 사용자가 나의 리스트에서 특정 개인 책을 삭제합니다. (🔒 인증 필요)
/reviews
GET
: 특정 책에 대한 리뷰 목록을 조회합니다.POST
: 책에 대한 리뷰를 등록합니다. (🔒 인증 필요)
/reviews/{reviewId}
PATCH
: 특정 리뷰를 수정합니다. (🔒 인증 필요)DELETE
: 특정 리뷰를 삭제합니다. (🔒 인증 필요)