Skip to content
This organization was marked as archived by an administrator on Jul 12, 2023. It is no longer maintained.
@ohara-bookshelf

Ohara: Bookshelf

Books recommendation system

BOOKSHELF

Table of content

Overview:

Bookshelf is a open source organization where my friend and I collaborated to developed our final year project on the computer engineering major.

The organization is basically a software developed, to exhale and faciliate the bibliomaniacs reading routine. Bookshelf is a fully function website where readers can signup/signin, add new a want-to-read bookshelves, also fork/unfork other bibliomaniacs bookshelves. According to the bookshelves collected by a user, a machine learning algorithm will generate a books recommendation which covers their interest.

Features:

Authentication & Authorization

We've used google authentication/authorization to make authentication/authorization safer and easier.

Dashboard

The dashboard contains the following 3 sections:

Popular Bookshelves:

Here we've used the popularity based recommendation algorithm and most forked books feature to display popular bookshelves.

Recommended Books

Using the hybrid based recommendation algorithm(discribed later), a set of books will be displayed on this section.

Recommended Bookshelves

Recommending bookshelves is done according to the current user's owned bookshelves.

User Profile:

Bookshelves:

Create Bookshelf

Add Books to a Given Bookshlef

View Bookshelf:

### Fork or Unfork Bookshelf: This feature can be performed in all bookshelves created publicly. Each user will have the full control on forked bookshelves. The inspiration of this feature comes from the github's forking

Used Technologies:

The development of this software has evolved multiple technologies highly used on the software development industry. As it is a full stack project powered with machine learning algorithms, it has allowed us to acquire the required knowledge to become full-stack web developers.

Tech Stack:

Backend:

Frontend:

DevTools:

Recommendation Systems(Machine Learning):

A recommendation system is usually built using 3 techniques which are content-based filtering, collaborative filtering, and a combination of both. Other then those 3 techniques there is another popular, simple and widely used recommendation technique which is popularity-based filtering.

In the project, The implementation of these algorithms is done in python jupyter IDE.

Popularity-Based Filtering Recommendation:

It is a type of recommendation system which works on the principle of popularity and or anything which is in trend. These systems check about the product which are in trend or are most popular among the users and directly recommend them to the users.

Content-Based Filtering Recommendation:

The algorithm recommends similar products consumed by the user. In simple words, In this algorithm, we try to find item look alike. In a nutshell, let’s say a person X has read ‘Harry potter and the prisoner of Azkaban’, the algorithm will recommend them the other books on the Harry potter Saga. Only it looks similar between the content and does not focus more on the person who is watching this. Only it recommends the product which has the highest score based on past preferences.
Collaborative Filtering Recommendation:

Collaborative based filtering recommendation systems are based on past interactions of users and target items.
In simple words here, we try to search for the look-alike customers and offer products based on what his or her lookalike has chosen. Let us understand with an example. X and Y are two similar users and X user has watched A, B, and C movie. And Y user has watched B, C, and D movie then we will recommend A movie to Y user and D movie to X user. YouTube has shifted its recommendation system from content-based to Collaborative based filtering technique. If you have experienced sometimes there are also videos which not at all related to your history but then also it recommends it because the other person similar to you has watched it.

Hybrid-Based Filtering Recommendation:

It is basically a combination of both the above methods. It is a too complex model which recommends product based on your history as well based on similar users like you. There are some organizations that use this method like Facebook which shows news which is important for you and for others also in your network and the same is used by LinkedIn too.

References:

Recommendation Images:

https://towardsdatascience.com/brief-on-recommender-systems-b86a1068a4dd https://www.researchgate.net/figure/The-Schema-for-the-model-based-popularity-mitigation_fig12_343768911 https://medium.com/double-pointer/system-design-interview-recommendation-system-design-as-used-by-youtube-netflix-etc-c457aaec3ab

Recommendation Algorithms:

https://www.analyticsvidhya.com/blog/2021/06/build-book-recommendation-system-unsupervised-learning-project/ https://analyticsindiamag.com/a-guide-to-building-hybrid-recommendation-systems-for-beginners/

Contributors

License

MIT License
Distributed under the MIT License. See LICENSE for more information.

Pinned Loading

  1. backend backend Public archive

    TypeScript 2

  2. frontend frontend Public archive

    Repository that embed the frontend part of the application

    TypeScript 2

Repositories

Showing 10 of 12 repositories
  • frontend Public archive

    Repository that embed the frontend part of the application

    ohara-bookshelf/frontend’s past year of commit activity
    TypeScript 2 0 0 0 Updated Jul 2, 2023
  • backend Public archive
    ohara-bookshelf/backend’s past year of commit activity
    TypeScript 2 0 0 0 Updated Jul 2, 2023
  • reviews-scraping-text-mining-2.0.0 Public archive

    The most recent version of reviews scraping and text mining models.

    ohara-bookshelf/reviews-scraping-text-mining-2.0.0’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated Jun 6, 2023
  • .github Public archive

    Tasarim Bitirme, is a final year project developed by my classmate and me.

    ohara-bookshelf/.github’s past year of commit activity
    0 MIT 0 0 0 Updated Jun 4, 2023
  • emotion-recommendation-2.0.0 Public archive

    The most recent version of the emotion based recommendation models.

    ohara-bookshelf/emotion-recommendation-2.0.0’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated Jun 2, 2023
  • hybrid-recomendation-2.0.0 Public archive

    The most recent version of the hybrid recommendation models.

    ohara-bookshelf/hybrid-recomendation-2.0.0’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated May 28, 2023
  • hybrid-recommendation-models Public archive

    This repository contains the machine learning part of the project especially the used algorithms for the recommendation system

    ohara-bookshelf/hybrid-recommendation-models’s past year of commit activity
    Jupyter Notebook 0 0 0 1 Updated May 28, 2023
  • emotion-based-recommendation-system Public archive

    This is a book recommendation system based on user's current emotion.

    ohara-bookshelf/emotion-based-recommendation-system’s past year of commit activity
    Jupyter Notebook 1 0 0 0 Updated May 28, 2023
  • ohara-bookshelf/facial-expression-recognition’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated May 28, 2023
  • goodreads-book-reviews-scraper Public archive

    Web scraper for goodreads book reviews.

    ohara-bookshelf/goodreads-book-reviews-scraper’s past year of commit activity
    Jupyter Notebook 0 0 0 0 Updated May 25, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…