You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API를 통하여 클라이언트의 요청을 받고, MySQL 데이터베이스 서버를 통해 저장 및 조회를 진행한 후, 요청을 처리
응답은 Spring Server에서 Thymeleaf 템플릿 엔진을 사용하여 동적으로 HTML을 생성하여 클라이언트에게 반환한
Naver Book, GPT API 및 Django Server에 요청을 보내고 응답을 받는다.
Django Server
Spring Server에서 사용자의 피드 작성 내용을 전송
받은 피드 내용을 바탕으로 내용의 핵심 키워드를 PageRank 알고리즘을 통해 추출하여 Spring Server로 반환
DB ERD
로그인과 회원의 경우, Spring Security를 사용하여 로그인을 할 때 필요한 로그인 정보를
회원정보에서 따로 분리하여 설계하는 것이 확장성과 보안성 측면에서 이점을 가지고 있다고
판단했기에 분리함
회원과 로그인은 1:1관계이며, 로그인은 회원에 종속되어 있기 때문에 회원PK를 로그인 테이블의 식별관계 PK로 설정함
Spring JPA의 경우 복합키를 기본키로 설정하게
되면 구조적인 측면에서 유연하지 않고, 따로 함수들을 오버라이딩해서 설정해줘야 하는 복잡
함을 가지고 있기 때문에 히스토리태그 테이블의 기본키를 식별관계 복합키(히스토리PK, 태그PK)로 설정하지 않고 히스토리태그
PK로 따로 설정함
히스토리키워드, 회원선호장르의 경우도 위와 같은 이유로 PK를 따로 설정함
Spring Server 구조
프로젝트 실행 사진
키워드 추출 기반 책 추천
자연어 입력 기반 책 추천
피드
보라색은 PageRank 알고리즘을 이용하여 추출된 키워드
회색은 사용자가 직접 입력한 키워드
상세 피드
About
사용자들이 읽은 책을 기록하고 공유하여, 사용자의 요구에 따라서 원하는 책을 추천받을 수 있는 Book SNS