BookHub

서울시 도서관 통합 검색 및 AI 기반 도서 추천 플랫폼 (팀 프로젝트)

Node.js LLM MongoDB
01 Overview
기간2024.08 (KDT 팀 프로젝트)
인원5인 팀 (팀명 P1J4)
역할도서 검색, 최근 들어온 책·인기 도서 목록 개발 (본인 담당분)
주요 기술Node.js, Puppeteer, 서울시 Open API, HTML/CSS, MongoDB, LLM
GitHubsung-ju-park/BookHub
02 Problem

원하는 책이 어느 도서관에 있는지 찾기 번거로움

서울시 내 강남구·강동구·마포구·영등포구 등 여러 구립 도서관의 소장 정보를 각각 따로 확인해야 하는 불편함에서 출발했습니다. 도서관을 한 곳씩 검색하지 않고, 한 화면에서 원하는 책의 소장 여부와 위치를 확인할 수 있는 플랫폼을 만들었습니다.

03 My Role

My Contribution

  • 강남·강동·마포·영등포 구립 도서관 4곳 통합 도서 검색 및 도서관별 소장 여부 확인 기능 개발
  • '최근 들어온 책'(서울도서관 신착 도서)과 '지금 인기 있는 책'(서울시 도서 대출 순위 Open API) 목록 및 페이지 나누기 기능 개발
  • AI 추천·요약, 회원가입/로그인, 마이페이지는 팀원이 담당
04 Technical Challenge

처음 구현해 본 페이지 나누기

코딩을 처음 배우며 만든 프로젝트라, 수십 권이 넘는 신착·인기 도서 목록을 한 화면에 모두 띄우지 않고 페이지 단위로 나눠 보여주는 기능을 구현하는 것이 가장 어려웠습니다. 몇 번째 책부터 몇 번째 책까지 보여줄지와 전체 페이지 수를 계산해, 화면의 번호 버튼과 맞춰야 했습니다.

05 Solution

서버에서 전체 목록을 가져온 뒤, 요청한 페이지 번호에 맞춰 (페이지 − 1) × 페이지당 개수 위치부터 정해진 개수만 잘라 보내고, 전체 개수를 페이지당 개수로 나눠 전체 페이지 수를 계산해 번호 버튼을 만들었습니다. 도서 검색은 4개 구립 도서관의 검색 페이지를 Puppeteer로 동시에 조회해 결과를 한 화면에 모았습니다.

06 Result

팀원들과 함께 서울시 주요 구립 도서관의 도서를 한 번에 검색하고, 신착·인기 도서와 AI 추천·요약까지 볼 수 있는 웹 플랫폼으로 완성했습니다. 로그인, 도서 검색, 상세정보, 마이페이지까지 하나의 흐름으로 연결했습니다.

Book Hub 프로젝트 표지

팀 발표자료 표지 — 팀명 P1J4

07 Architecture
사용자 — 도서 검색 / 키워드 입력
↓
Node.js 서버 — 구립 도서관 검색(Puppeteer)·서울시 Open API로 소장 여부·인기 도서 조회
↓
MongoDB — 도서 정보 · 사용자 데이터 저장
↓
AI 추천·요약 결과 반환
08 GitHub
View on GitHub