Book Recommendation System using Collaborative Filtering Project in PHP or ASP.NET

Book Recommendation System using Collaborative Filtering Project in PHP or ASP.NET.

Project Domain / Category



In this project, we are going to develop an intelligent web-based bookstore that helps the users (book readers) to not only search the books from the database but also allows the users to see the book recommendations based on their predicted interest. For this purpose, we will include a book recommender module that is based on collaborative filtering.

Background of Collaborative Filtering:

In e-commerce systems, the recommendation systems are widely used to recommend products to the end-users that are most appropriate based on their interest prediction. Such e-commerce systems, the features of collaborative filtering are used to produce efficient and effective recommendations.

The collaborative recommendation is probably the most familiar, most widely implemented and most mature of the technologies. Collaborative recommender systems aggregate ratings of objects, recognize commonalities between users on the basis of their ratings and generate new recommendations.

Collaborative filtering is a method of making automatic predictions (filtering) about the interests of a user by collecting preferences from many users (collaborating).

The underlying assumption of the collaborative filtering approach is that if person A has the same opinion as a person B on an issue, A is more likely to have B’s opinion on a different issue than that of a randomly chosen person.

There will be two main users of the system:

  • Book Buyer (User)
  • Administration

Functional Requirements:

There will be three modules with the following functional:

  1. User Module
  • A new user will be able to create a new account.
  • During account creation, the user will be asked to select book genres (categories) of his/her interest so that he/she can view books based on the interest.
  • A registered user can log in to the system with a valid username and password.
  • The registration of the user will be completed through Email verification.
  • After a successful Login, the user can see all the available books based on some search criteria to buy online.
  • There will be different search criteria such as Book Name, Book Genre, Author Name, Year Published, etc.
  • The user will be able to view system-generated recommendations for books.
  • The user will be able to give a rating to any book which can be later used by our recommender module.
  • The user can buy the book by doing online Payment.
  • The user will be able to change his/her profile.
  1. Administrator Module
  • The administrator will be able to login to the system with a valid username and password.
  • The admin will be able to add new book categories.
  • The admin can add new books based on its title, category, author name, year published, etc.
  • The administrator will be able to see all the available books with its details.
  1. Collaborative Filtering based Book Recommender Module

We want to include the intelligence in our system which recommends random books to the user based on his/her interest which will be predicted through collaborative filtering.

The following requirements should be part of this module.

  • Aggregating the rating given by a book reader for each book
  • Using collaborative filtering for making a prediction about the books, the book reader can be interested in reading, based on his selected book genres as well as the aggregated book ratings associated with those genres.
  • Allowing the user to view the generated book recommendations.
  • Displaying book recommendations as part of the book search criteria.

You can use any of the following PHP Frameworks For developing this Web Development Project
1. Laravel
2. Phalcon
3. Fat-Free Framework
4. CodeIgniter
5. Laminas Project
6. CakePHP
7. FuelPHP
8. Slim
9. PHPixie
10. Symfony
11. Yii