책을 읽으면서 느낀 점을 기록하고 공유하는 것은 독서를 더 깊이 있게 만들어 줍니다.
이를 위해 도서 정보 제공, 도서 리뷰, 독서 모임, 게시글 및 채팅 기능을 포함한 독서 커뮤니티 플랫폼을 제공합니다.
src
└── main
├── java
│ └── com.bookmate.bookmate
│ ├── user
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── book
│ ├── chat
│ ├── comment
│ ├── like
│ ├── openAI
│ ├── post
│ ├── readingclub
│ ├── review
│ ├── subscription
│ ├── notification
│ └── common # 공통 로직
│ ├── config # 프로젝트 설정
│ ├── error # 전역 예외 처리
│ └── security
│ ├── CustomUserDetails.java
│ ├── CustomUserDetailsService.java
│ ├── JwtAuthenticationFilter.java
│ └── JwtTokenProvider.java
├── resources
│ └── application.yml # 환경 설정 파일
└── test # 테스트 코드
- 유저
- 이메일 인증을 통한 회원가입
- JWT를 활용한 인증/인가 로직 구현 (RTR 방식 사용)
- 로그인 후 모든 서비스 이용 가능
- 회원 정보 조회/수정/탈퇴
- 도서 검색
- 알라딘 API와 연동하여 쿼리 검색 및 베스트 셀러 검색 가능
- 도서 리뷰
- 도서를 저장하고 해당 도서에 대한 리뷰 작성 가능
- 도서마다 작성된 리뷰를 조회 가능
- 독서 모임
- 한 유저가 한 개의 독서모임만 개설 가능
- 독서 모임 생성/수정/삭제 (개설자만 허용)
- 독서 모임 전체 목록 조회, 상세 조회, 특정 유저가 참여한 모임 목록 조회, 특정 독서모임의 참여/신청자 목록 조회
- 독서 모임 모집 게시글을 통해 독서모임 참여 신청 가능
- 독서 모임 개설자는 참여 신청 목록을 확인 후 승인/거절
- 독서 모임 참여 승인 시 자동 그룹 채팅방 초대
- 독서 모임 탈퇴
- 채팅
- 상대방 프로필을 통해 상대방과 1:1 채팅 가능
- 독서 모임에 참여한 경우 해당 모임 그룹 채팅 가능
- 알림
- 메시지, 좋아요가 오면 유저 디바이스로 알림 도착 (FCM)
- 게시글
- 자유 게시글, 독서 토론 게시글, 독서 모임 모집 게시글 카테고리로 나누어져 있음
- 독서 모임 모집 게시글의 경우 모집 기간, 모집 인원 수, 현재 신청된 인원 수 확인 가능
- 좋아요 순으로 게시글 정렬 가능
- AI 보정 기능
- 좋아요
- 게시글과 댓글에 좋아요 기능 추가
- 토글 방식으로 구현
- 댓글
- 대댓글을 사용하여 작성자와 소통 가능
- 게시글 보정
- 작성된 게시글을 OpenAI를 통해 미리 작성된 프롬프트를 사용하여 보정 가능
| Leader / Backend | Backend |
| 허은리 | 상우진 |
|
eunli |
Woojin |
