Our entire team loves books and is passionate about computer science. The ability to use computer science concepts to develop a web application about books inspired this hack.
What it does
Our website Bibliophile allows users to search for books. The website displays relevant information regarding search results such as the author, description, average rating as well as image of the book. Users can create accounts add mark books as read or currently reading and add them to their wishlist as well. Users are given recommendations based on similar users as well as books they have previously read.
How we built it
Our application has used the publicly available crossing books dataset for this application. The GoogleBooks API was used to retrieve the description and categories for them. React was used to develop the website and real-time firestore served as the database. The backend constituted of node and express. The recommendation system implements collaborative filtering and content-based recommendations. Collaborative filtering implements the single-value decomposition algorithm using the surprise library. We use NLP to analyze the descriptions of the books and recommend similar books to users based on what they have previously read. This recommendation engine has been built based on TF-IDF Word2Vec
Challenges we ran into
Our primary challenge has been to integrate the plethora of technologies we have used to develop this end-end software project. Connecting the real-time database with node, express, machine learning scripts written in python as well as displaying the output in the react website proved to be challenging
Accomplishments that we're proud of
We are proud that we were able to plan, design and develop a complete software application in a span of 48 hours. This is also our first online hackathon and learnt a lot of the technologies about we used.
What we learned
We learnt how to use firebase, react and material UI. We had only heard of collaborative and content-based recommendation systems but it was only during this hackathon that we took the time to research and understand various algorithms along with implementing them. We went out of our comfort zone to learn and understand the technologies we needed to implement this project.
What's next for Bibliophile
We would like to get more data to support our website and make our recommendation algorithms more robust. We would also like to implement a 'fanzone' where readers can chat about their favourite books. We also think it would be great to also integrate a platform where users can buy second-hand books