Bookish is a web application that provides personalized book recommendations using collaborative filtering. It integrates data from Google Books and Open Library APIs to deliver a seamless book search and recommendation experience.
- Book Search: Search for books using Google Books and Open Library APIs.
- Book Display: View search results with book titles, authors, cover images, and ratings.
- Recommendation Engine: Get personalized book recommendations based on collaborative filtering.
- Model Training: The application trains a recommendation model using user ratings and book data.
- Streamlit: For creating the web application.
- Requests: For making HTTP requests to book APIs.
- Pandas: For data manipulation.
- Surprise: For collaborative filtering and model training.
- Pickle: For saving and loading the recommendation model.
- Python 3.x
- Required Python libraries (listed in
requirements.txt
)
-
Clone the repository:
git clone https://github.com/yourusername/bookish.git cd bookish
Install the required packages:
pip install -r requirements.txt
Run the Streamlit app:
```
streamlit run app.py
```
Enter a search query in the text input field. View the search results displayed in a grid format.
Select a book from the dropdown menu. Click the "Recommend" button to receive personalized recommendations.