💡 본 글은 스파르타코딩클럽 ‘왕초보 시작반’ 개인 프로젝트를 진행하며 작성한 내용입니다.
기획
배경
평소 읽고 싶은 책이 생기면 여러 군데를 검색합니다. 동네 도서관에서 빌릴 수 있는지, 알라딘 중고 서점에는 올라 왔는지, 회사 전자책 도서관에 있는지 등 검색하며 최대한 구매하지 않고 읽을 방법을 궁리합니다.
매번 최소 세 군데나 검색하는 번거로움을 해소하고자, 이번 기회를 통해 책을 한 번에 검색할 수 있는 웹 서비스를 개발하였습니다.
주요 기능
- 상단: 책 제목 입력 시 실시간으로 책 목록 보여주기
- 중단: 검색 시 도서관, 알라딘 중고 매장, 전자책 도서관 검색 결과 보여주기
- 하단: 읽고 싶은 책이나 다음에 다시 검색해보고 싶은 책 저장하기 (장바구니 기능)
기술 스택
- Frontend: html, css, javascript (bootstrap 무료 템플릿 적극 활용)
- Backend: python (flask, flask-restful)
- Database: mongoDB
Open API 이용하기
이번 프로젝트를 위한 사전 작업으로, 도서 관련 API를 검색해보았습니다.
국내 도서 검색 Open API 비교 글 참고하시면 도움이 될 겁니다.
저는 도서관과 알라딘 정보 검색이 주요 기능이었기에, 다음 두 가지 API를 사용했습니다. (지금 생각해 보니 도서 실시간 검색은 호출 건수가 큰 편인 네이버나 카카오 API 사용해도 될 듯)
🌵 개발하면서 알게 되었지만, 아래 서비스에서 제가 원하는 정보를 정확하게 응답해주는 API를 제공해주지 않았습니다. 도서 검색 결과는 API를 사용하였고, 그 외 기능은 웹 스크래핑을 통해 개발하게 되었네요.
공공도서관 API
- 도서관 정보나루 Open API
- 국립중앙도서관에 개발, 운영하는 서비스
- 도서 정보, 도서관 별 대출 현황, 인기 대출 도서 등 API 제공
- ‘데이터 활용’ 탭을 참고하여 회원가입 → 키 발급하여 사용 가능 (하루 정도면 키 발급 완료)
- 고객 지원에 문의 남기면 대부분 하루 만에 답변해주심
알라딘 API
- 알라딘 TTB
- 알라딘 회원가입 후 위의 링크 접속 → 우측 TTB 사이트/블로그 등록관리 → 블로그 URL 추가 후 대기 → 하루 정도 지나 회원정보관리 페이지에 ‘판매수익 회원자격 승인 상태’라고 뜨면 API 키 사용 가능
- 알라딘 API 사용 방법 블로그를 참고하여 상품, 검색 API 사용
최종 결과
URL을 공개하고 싶지만… API 호출 건수 제한과 보안이 마음에 걸려 영상으로 대체합니다.
개발하면서 배운 점은 조금씩 작성해보겠습니다😉