https://github.com/ziraddingulumjanly/book-recommender-app-via-python
An interactive Book Recommendation System built with Streamlit, powered by collaborative filtering using cosine similarity on real-world user rating data. π³ Now Dockerized for easy deployment and consistent environment setup β run the entire app in one command using Docker.
https://github.com/ziraddingulumjanly/book-recommender-app-via-python
boookrecommendationapp python3 recommendation-engine recommender-system
Last synced: 9 months ago
JSON representation
An interactive Book Recommendation System built with Streamlit, powered by collaborative filtering using cosine similarity on real-world user rating data. π³ Now Dockerized for easy deployment and consistent environment setup β run the entire app in one command using Docker.
- Host: GitHub
- URL: https://github.com/ziraddingulumjanly/book-recommender-app-via-python
- Owner: ziraddingulumjanly
- Created: 2025-05-04T19:47:15.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-05-05T23:49:29.000Z (9 months ago)
- Last Synced: 2025-05-08T00:12:07.332Z (9 months ago)
- Topics: boookrecommendationapp, python3, recommendation-engine, recommender-system
- Language: Jupyter Notebook
- Homepage: https://www.kaggle.com/datasets/arashnic/book-recommendation-dataset?select=Ratings.csv
- Size: 35.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π Book Recommender System
[](https://book-recommender-app-via-python-wnkubfmbrwnqvgw7kas5hq.streamlit.app/)
This project is an interactive **Book Recommender System** built using **Python** and **Streamlit**, based on a collaborative filtering approach. It leverages real-world user ratings data to suggest books that are similar to a selected title, using **cosine similarity** between user rating vectors. The underlying dataset includes detailed metadata such as book titles, authors, publication years, publishers, and even cover image URLs, enabling both analytical and visual exploration.
The system filters out low-quality and sparse data to focus on meaningful ratings, ensuring high-quality recommendations. Once a user selects a book, the app returns a ranked list of the most similar titles along with their similarity scores. In addition to a summary table, it visually showcases each recommended bookβs cover, author, publisher, and publication year β making the experience both informative and user-friendly.
Designed for both educational and practical use, this project demonstrates key concepts in recommendation systems, including data preprocessing, user-item matrix construction, similarity measurement, and interactive deployment. Itβs ideal for anyone interested in building intelligent applications from real data, exploring collaborative filtering, or simply discovering new books.
Perfect! Here's a continuation of your `README.md` β now including a clear and concise **"How to Run"** section with instructions for cloning, installing, and running the app locally using Streamlit:
### π Dataset
The recommender system is built using two core files from a public dataset available on Kaggle: **Books.csv** and **Ratings.csv**. The `Books.csv` file contains detailed metadata about each book, including title, author, publisher, year of publication, and image URLs. The `Ratings.csv` file includes over one million book ratings provided by real users, which serve as the foundation for collaborative filtering.
If you would like to download the original dataset yourself, please visit **[this Kaggle link](https://www.kaggle.com/datasets/arashnic/book-recommendation-dataset?select=Ratings.csv)**. Both `Books.csv` and `Ratings.csv` are available there and are essential to running the recommendation engine effectively.
### π οΈ How to Run the Project Locally
To run the Book Recommender System on your local machine:
1. **Clone the repository** or download it as a ZIP and extract it:
2. **Make sure you have the required Python packages installed**. If not, install them using:
```bash
pip install pandas numpy scikit-learn streamlit
```
3. **Run the Streamlit app**:
```bash
streamlit run app.py
```
4. A browser window will automatically open with the app interface. You can see demo images below.


