Book Advisor is a web application that offers personalized book recommendations based on users reading preferences. Leveraging data from the New York Times Bestseller lists and integrating with the Google Books API, Book Advisor provides a seamless experience for discovering new reads. The system consists of both frontend and backend components, with the frontend built using React.js and the backend powered by Flask.
- View current New York Times bestsellers for both fiction and nonfiction.
- Receive tailored book recommendations based on your reading history.
- Search for books by title, author, or genre.
- Access detailed book information including cover images, ratings, and publication details.
- Save favorite books to your profile for future reference.
- Python 3.10.x or later
venv
module version 3.3 or later- MongoDB installed and running locally
- Navigate to the
backend
(https://github.com/NikKnez/Book_Advisor_Project/tree/main/backend) directory. - Create a virtual environment using
python -m venv .
and activate it. - Install dependencies using
pip install -r requirements.txt
. - Set environment variables for database credentials, mail server details, Google Books API key (https://developers.google.com/books), and New York Times API key (https://developer.nytimes.com/).
- Run the Flask server using
python app.py
.
- Node.js 16.x and npm
- Navigate to the
frontend
(https://github.com/NikKnez/Book_Advisor_Project/tree/main/frontend) directory. - Install dependencies using
npm install
. - Set the
REACT_APP_API_ENDPOINT
variable in the.env
file to the URL of the backend server (by default this ishttp://127.0.0.1:5000/
). - Start the development server using
npm start
.
Check out the live demo of the Book Advisor.
Contributions are welcome! Please fork the repository and create a pull request for any enhancements or bug fixes.
Developed by NikKnez