The backend API Github Repository for DarakBooks(다락책방).
DarakBooks is an application that allows you to record books and find book clubs.
DarabkBooks is an online platform designed for book lovers. Our service allows users to search for books, manage their reading records, and receive personalized book recommendations.
We leverage the power of ChatGPT to provide tailored book recommendations based on users' requests. Additionally, we facilitate both online and offline book clubs and reading communities.
DarakBook Website - https://frontend-book-platform.vercel.app/
DarakBook Notion - notion
다락책방 Swagger API (한국어)
DarakBooks Swagger API documentation (English)
This is the github repository for Nest framework TypeScript API for DarakBooks.
- Sign up for an Darak Books account on our website.
- Explore the book search feature to find books of interest. Use filters and search parameters to refine your search results.
- Manage your reading records by adding books to your reading list, recording progress, and making personal notes.
- Benefit from our personalized bookshelf recommendations, which appear based on your reading history and preferences.
- Engage with ChatGPT to receive real-time book recommendations and have interactive conversations about books.
- Join online book clubs, participate in discussions, and connect with fellow book lovers. Attend offline book club meetups and events in your area.
- Book Search: Users can easily search for books using kakao search api. They can explore various genres, authors, and book details to find their next reading adventure.
- Reading Record Management: Our platform enables users to track their reading progress, record personal notes, and manage their reading lists. Users can conveniently add, remove, and delve into their reading records, creating a personalized reading history.
- Personalized Bookshelf Recommendations: By analyzing users' reading preferences and book records, our recommendation system generates tailored bookshelf recommendations. Users receive suggestions for books that align with their interests and reading habits, helping them discover new titles and expand their literary horizons.
- ChatGPT-powered Book Recommendations: Users can engage in interactive conversations with ChatGPT, our AI-powered chatbot. ChatGPT understands users' book preferences and provides real-time book recommendations based on their queries. Users can have dynamic and engaging conversations about books and receive instant suggestions.
- Online and Offline Book Clubs: DarakBooks fosters a vibrant community of book enthusiasts. Users can join online book clubs, participate in discussions, and connect with like-minded readers. We also facilitate offline book club meetups and events, bringing book lovers together to share their passion for literature.
- Korean National Library Librarian Recommendation API (국립중앙도서관 사서추천 API)
- OpenAI Chat GPT API
- LangChainJS
- KakaoLogin
-
To generate recommendations(books) based on given documents/datasets we used the DocQA available on LangchainJS
-
For further finetuning your model with specific data, you can also refer to ChatGPT OpenAI's Finetuning feature
-
To generate recommendation(bookshelf) based on given documents or datasets, we utilized popular Python libraries, including scikit-learn and NumPy.
- ✅ Account Login
- JWT, OAuth 2.0-based Kakao Account Login
- Login, Logout, Reissue
- Use Redis, Cookie memory
- ✅ BookGroups
- CRUD (Create,Read,Update,Delete) Operations on groups
- Add, Remove, View, Delete users in group
- View all Groups, View Groups user is part of, View specific group
- View top n groups with most members
- Pagination groups
- ✅ GPT Recommendations
- Get GPT Book Recommendations
- ✅ My Bookshelf
- Add/Delete a book in my Bookshelf
- Bookshelf Recommendations using Python's NumPy and cosine_similarity from scikit-learn
- Get Bookshelf of Specific User
- ✅ My Page
- View my profile, view other user's profile
- User photo(S3)
- ✅ Record
- CRUD Operations on Book Records
- Add, Remove, View, Delete record for a book
- View all Records, View Records for a Book, View Records for a Specific User, View specific record
- Infinite Scroll of Records
- Record Photo(s3)
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
- Backend Developers
Jiyoung Park (박지영:Lead Developer): Login, Book Records API, Bookshelves API
Seonghee Lee(이승희) : BookClub API, GPT API - DarakBook Website - https://frontend-book-platform.vercel.app/