Table of content
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.
We've used google authentication/authorization to make authentication/authorization safer and easier.
The dashboard contains the following 3 sections:
Here we've used the popularity based recommendation algorithm and most forked books feature to display popular bookshelves.
Using the hybrid based recommendation algorithm(discribed later), a set of books will be displayed on this section.
Recommending bookshelves is done according to the current user's owned bookshelves.
### 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 forkingThe 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.
- nestjs
- postgres
- prisma
- class-transformer
- class-validator
- google oauth
- passport
- morgan
- passport
- passport
- react
- tanstack query
- react router dom
- chakra ui
- formik
- yup
- axios
- vite
- react oauth
- framer motion
- react icon
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.
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.
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 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.
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.
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
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/
Distributed under the MIT License. See LICENSE
for more information.