Book recomendation system based on Machine Learning algorithm.
This is the final project of the AI & Machine Learning Course done by Fundación Esplai. This project is a book recommendation system that collects data of books, users and their ratings. A machine learning algorithm takes all the data and, depending on which algorithm is activated, recommendations of a specific book are shown; in this initial version, there are two available algorithms, by correlation matrix and by distances (KNN)
The front-end is done with React.
The back-end is done with Python (Flask API)
The retrived data come from:
Book-Crossing Dataset: User Review Ratings
Create a virtual enviroment and install the packages from requirements.txt with:
pip install -r requirements.txt
Then, in client folder, install all the node packages:
npm install
The back-end is an API done with Flask and use the production build of React front-end as the endpoint. So, in the client folder, create it:
npm run build
Finally, create the Flask App enviroment variable and start Flask service in the root folder:
Unix Bash:
export FLASK_APP=app
flask run
Windows CMD
set FLASK_APP=app
flask run
Windows PowerShell
$env:FLASK_APP = "app"
flask run
This is a list of future implementations:
- Dark Mode.
- More data in the recommendations: thumbnails, author, links and genre.
- Layout improvement.
- Algorithm improvement
See the open issues for a list of proposed features (and known issues).
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature
) - Commit your Changes (
git commit -m 'Added some new feature'
) - Push to the Branch (
git push origin feature/NewFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Erix Mamani Villacresis - [email protected] - LinkedIn
Vladimir Smirnov - [email protected] - LinkedIn
Adelina Muntean - [email protected] - LinkedIn
Project Link: https://github.com/ErixMV/BlackSwan