도서 검색 시스템에서 회원가입 기능을 추가하고, 사용자의 검색 기록을 저장한 후 해당 기록을 기반으로 책을 추천하려면 다음과 같은 구성 요소와 작업이 필요하다. 

  1. 회원가입을 위한 사용자 테이블
    • 사용자 정보를 저장할 데이터베이스 테이블과 연결되는 사용자 데이터 모델생 생성
    • User 클래스
    • 필드 id, username, password, email
  2. 사용자 인증 및 회원가입 구현
    • 사용자가 회원가입하고 로그인할 수 있는 기능을 구현
    • Spring Security
  3. 검색 기록 저장을 위한 데이터 테이블 
    • SearchHistory 클래스를 생성
    • 필드 : id, userId, bookId, searchDate
  4. 검색 시 검색 기록 저장할 수 있는 테이블 
    • 사용자가 책을 검색할 때마다 검색 기록을 저장
    • 인증된 사용자가 검색을 수행하면 검색 기록을 SearchHistory 테이블에 저장하도록 설정
    <consider>
    1. 로그인한 사람과 로그인하지 않은 사람을 어떻게 구분할 것인가? (데이터 저장 유무를 결정)
    2. 최근 검색 기록은 몇개나 저장할 것인가?
    일정 기간 저장하기 : 최근 6개월 데이터를 기준으로 분석<필요한 기술 >
    1. 두 가지 모두 최근 데이터로 업데이트 되면 가장 오래된 데이터는 자동으로 삭제하는 기능 필요
    2. 검색어가 정확하지 않은 경우 수 많은 데이터들 중에서 어떤 책을 저장할 것인가?
      1. 방안1. 대여한 책을 기준으로 바꾼다면 더 정확한 정보를 제공할 수 있음. → 대여 기능을 구현해야 함
      2. 방안2. 검색한 데이터 중에서 세부 페이지에 들어가서 확인한 책만 저장하게 하기
      3. 일정 권수 저장하기 : 최근 검색한 100권을 기준으로 분석
  5. 책 추천 알고리즘 개발
    • 사용자가 검색한 책들과 관련된 주제, 장르 또는 저자를 분석
    • 알고리즘 구현 : 도서분류 번호, 최근 발행 순 으로 도서 추천 알고리즘 구현하는 것이 목표
    <consider>
    1. 이 책을 본 사람들의 선택 : 이 책을 빌린 사람들이 공통적으로 빌린 책 보여주기
    2. 핵심 키워드를 추출해서 일정 기간동안 (최근 6개월 등) 가장 많이 검색된 도서 목록 보여주기
  6. 책 추천 API 구현
    • 사용자에게 언제, 어떻게 추천 도서를 보여줄 것인가?
    • 도서추천 API 구현

 

2023.04.11 추가

+ Recent posts