In the current scenario websites or apps allow users to buy new books sell old books or rent books but none of them provides all of these features on the same platform. Many websites exist on the internet which are focusing on the business of E-books as they are easy to maintain and they can be read anytime and anywhere. The system allows a user to buy or sell new books, buy or sell old books, rent old books all at the same destination. The web based application would have a recommendation system based on collaborative and content based recommendations that would recommend books to users based on title and based on similar user’s preferences. The recommendation system is designed using Machine learning algorithms thus making it almost close to real life recommendations. The system would also have general features like filter for products, search option for products, responsive website user interface etc.
Books have been our source for gaining information or learning new things since a long time but recently we have seen a fall in the number of book readers. People have shifted their attention to E-books which are available easily and can be read anytime a user wants whereas a physical book is available in a Library or it needs to be purchased. But a study suggests that a physical book helps the reader to absorb more information than an E-book.
It is a need to make books easily available to people or to bring the library online. A physical book helps the reader to stay focused and is easier on the eyes. However, the rise of E-books wasn’t prevented by these benefits . To solve this many E-commerce companies like Amazon, Flipkart tried to sell books online and allowed users to sell used books. Amazon provides an extra option to buy E-books. A website called Padhega India offered users an opportunity to rent books or buy and sell used books. But none of them offered all the services together in the same platform. We have tried to improve this by building a platform where a user can do all the above services at the same place and thus provide users with features like Shopping Cart, Product recommendations etc.
The objective of our project is to develop a web-based application which would provide users with a variety of books and allow users to buy/sell new books, buy/sell old books, rent books with all other features including a shopping cart, recommendation system to recommend books to the user based on titles as well as based on similar user’s choices, a responsive user interface and other features that a regular E-commerce website has. Hence, reducing user’s efforts to buy a book and saving the user’s time by bringing books to the user’s phone. This would not only allow users to buy books but at the same time boost the sale of physical books
II. LITERATURE SURVEY
In paper  Nayana Vaidya and Prof. Khachane A.R describe recommender system as an information filtering system which recommends the products or items to the user. They further describe Content based recommender system as the system that compares the already purchased or searched items by the user and recommends similar items to the user and Collaborative Filtering as a method where prediction for the active user is done by calculating the weighted average of all ratings of similar users.
In paper  authors Aayush Jain, Shweta Rajeev, Mayank Katiyar, Shreya Sreenivasan, Mohammed Zabeeulla proposed to build a shopping website including product recommendation with the title OYE, the application made use of MEAN Stack i.e. Mongo DB, Express, Angular, NodeJS. The recommendation system for their application was built using KNN algorithm. OYE is an e-commerce website that uses Recommender Systems; it even eradicates fake reviews on products while shopping online. It helped the end-users to completely rely on the website while shopping. This project focused on making use of content-based approach in addition to Collaborative Filtering approach to endorse quality content to its users. The project also aimed at using soft computing technologies to create an automated process and develop an intelligent web application
In paper  author Kaivan Shah proposes to build a Book Recommendation System using Item Based Collaborative Filtering, He walks us through the different approaches for recommendations and uses the goodbooks10K data set for performing Collaborative filtering. The paper contains the implementation of Item Based Collaborative Filtering with Python.
In paper  authors E. Uko Okon, B. O. Eke and P. O. Asagba aim to build a Book recommendation system using Collaborative Filtering. They describe a recommender system as a type of filtering system that predicts the rating or preference that a user would give to an item. They have further listed the type of recommendation systems as Personalized and Non Personalized Recommendation systems. They use the MovieLens dataset where the best weak and the best strong generalization results are compared. They propose to use Firebase for storing data.
In paper  authors Wei, Fan & Zhang, Qian propose to build an Online Shopping System based on Browser/Server model which is described as a hidden client mode after WEB development. This network structure mode would merge the Web browser as the client to the server. The reason for using Browser/Server model is that it simplifies system development, maintenance, and usage. The client only needs one Browser under the Browser/Server model and the browser would exchange data with database through the web server. In order to do this the system would use Java. Java Server Page, Spring Architecture which is a Model-View-Controller (MVC) architecture.
In paper  Khalid Anwar and Jamshed Siddiqui survey machine learning based book recommender system, their main focus is on Collaborative Filtering, Content Based Recommendation system and Hybrid Recommendation System. The paper further gives a brief idea about existing book recommendation systems built till date and the technology used for the same and further gives detailed information about the each of them.
III. PROPOSED SYSTEM
When the user first visits BookBarn he will be displayed all the available books on the homepage with a navigation bar that would navigate the user to different sections of the website, if the user wants to buy a book, he would have to create an account to begin shopping on our website. If he already has an account, he could simply login/Sign in to the website. After which the user would be taken to the Account page and the user can now carry out all the activities like selling books, buying books, renting books. The user can edit his account details, at the same time view different products and add them to shopping cart for checking out later. The user can search for books using the search feature provided in the website. We have provided the user with a chance to search book details using Google Books API thus reducing the user’s efforts while filling in book details for selling/renting the book. If an old version of the same book is available then the user would be able to buy/rent the book as per the seller has specified.
A. Algorithm to be Used
For Recommending books to the user, we would use Collaborative Filtering and content-based Recommendation. Collaborative filtering would use the KNN (K Nearest Neighbor) +SVD algorithm and for Content based filtering we would use TF-IDF (Term Frequency-Inverse Document Frequency)
The KNN algorithm works as follows:
Step-1: Select the number K of the neighbors (Other users in our case)
Step-2: Calculate Euclidean distance for K neighbors
Step-3: Take the K nearest neighbors as per the Euclidean distance that was calculated.
Step-4: Among these k neighbors, count the number of the data points (books) in each category.
Step-5: Assign the newly obtained data points to the category for which the count of the neighbor is maximum.
The given diagram shows how application works and how users interact with it.
Recommender systems have become an important tool on many websites like NetFlix, Amazon, FlipKart, Spotify. These websites use it for recommending movies, music, products etc. We use this recommendation system to recommend books to users according to their rating history and based on other similar user’s experiences. This would thus reduce user’s searching time and at the same user could explore more books from our website. This website would further allow users to buy, rent, and sell books on the website thus reducing efforts of the user. Thus, the application would be beneficial to user in terms of efforts and at the same time it would save the user’s money as a user can rent a book instead of paying full cost. Some features that could be added in the future includes
1) The website could be made available in many different languages
2) The website can have a Chat Bot to answer user queries
3) A point-based system, where a user gets points for reading books could be added to increase user’s engagement.
4) The website can have a separate section for buying E-Books.
5) BookBarn could be made available as an Android app.
 N. Vaidya and A. R. Khachane, \"Recommender systems-the need of the ecommerce ERA,\" 2017 International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 2017, pp. 100-104, doi: 10.1109/ICCMC.2017.8282616.
 OYE-Web based Product Recommendation & Shopping System, Aayush Jain, Shweta Rajeev, Mayank Katiyar, Shreya Sreenivasan, Mr. Mohammed Zabeeulla, International Research Journal of Engineering and Technology(IRJET), Volume: 07 Issue: 06, June 2020
 Kaivan Shah, Book Recommendation System using Item based Collaborative Filtering, International ResearchJournal of Engineering and Technology(IRJET), Volume: 06 Issue: 05, May 2019
 Okon, Emmanuel & O., B. & O., P.. (2018). An Improved Online Book Recommender System using Collaborative Filtering Algorithm. International Journal of Computer Applications. 179. 41-48. 10.5120/ijca2018917193
 Wei, Fan & Zhang, Qian. (2018). Design and Implementation of Online Shopping System Based on B/S Model. MATEC Web of Conferences. 246. 03033. 10.1051/matecconf/201824603033.
 Anwar, K., Siddiqui, J., & Sohail, S. S. (2020). Machine learning-based book recommender system: a survey and new perspectives. International Journal of Intelligent Information and Database Systems, 13(2/3/4), 231. doi:10.1504/ijiids.2020.109457
 Amazon: https://www.amazon.in/Books/b?ie=UTF8&node=976389031
 Padhega India: https://www.padhegaindia.in/
 Books Wagon: https://www.bookswagon.com/
 Sapna Online: https://www.sapnaonline.com/