BookQuest / README.md
zaiffi's picture
Upload 11 files
8caef53 verified
metadata
title: BookQuest
emoji: ๐Ÿ“š
colorFrom: blue
colorTo: yellow
sdk: docker
sdk_version: 3.1.1
app_file: app.py
pinned: false

BookQuest: Adventure in Finding Great Reads

BookQuest is an intelligent book recommendation platform that helps you discover your next favorite read. Whether you're looking for classics, trending titles, or personalized suggestions, BookQuest makes finding great books effortless and enjoyable.

Top 50 Books

Problem Statement

Finding the right book can be overwhelming with the sheer volume of options available. Readers often struggle to:

  • Discover books tailored to their interests
  • Get reliable recommendations
  • Explore new genres and authors
  • Connect with a modern, user-friendly interface

BookQuest solves these challenges by providing curated lists, smart recommendations, and a beautiful, intuitive experience.

Features

  • Top 50 Books: Instantly browse the most popular and highly rated books
  • Personalized Recommendations: Get book suggestions based on your favorite titles
  • Modern UI: Clean, responsive design with a focus on readability and ease of use
  • Contact Form: Reach out for support or suggestions directly from the app
  • Live Search: Quickly find books by title
  • Robust Backend: Powered by Flask and machine learning models for accurate recommendations
  • Email Notifications: Contact form uses EmailJS for instant communication

Contact Us

Tech Stack

  • Frontend & Application: Flask, Bootstrap, HTML/CSS, Jinja2
  • Backend: Python, Pandas, Numpy, Scikit-learn
  • Recommendation Engine: Collaborative filtering using similarity scores
  • Email Integration: EmailJS (client-side)
  • Deployment: Docker, Hugging Face Spaces

Getting Started

Prerequisites

  • Python 3.8 or later
  • pip (Python package manager)
  • (Optional) Docker for containerized deployment

Installation

  1. Clone the repository:

    git clone https://github.com/zaiffishiekh01/BookQuest.git
    cd BookQuest
    
  2. Install required packages:

    pip install -r requirements.txt
    
  3. Create a .env file in the project root with your EmailJS credentials:

    SECRET_KEY=your-secret-key-here
    VITE_EMAILJS_PUBLIC_KEY=your-public-key-here
    VITE_EMAILJS_SERVICE_ID=your-service-id-here
    VITE_EMAILJS_TEMPLATE_ID=your-template-id-here
    

Running the Application

Start the Flask app:

flask run --host=0.0.0.0 --port=7860

Or use Docker:

docker build -t bookquest .
docker run -p 7860:7860 bookquest

The application will be available at http://localhost:7860.

Usage Guide

Home Page (Top 50 Books)

  • Browse the most popular books with cover images, authors, ratings, and more.
  • Click on any book for more details.

Top 50 Books

Recommendations

  • Enter a book title you like and get a list of similar books instantly.
  • Each recommendation includes cover, author, year, and publisher.

Book Recommendations Book Recommendations

Contact Us

  • Use the contact form to send feedback or questions.
  • EmailJS integration ensures your message is delivered instantly.

Contact Us Contact Us

Environment Variables

For security, do not share your actual .env file. Use this template:

SECRET_KEY=your-secret-key-here
VITE_EMAILJS_PUBLIC_KEY=your-public-key-here
VITE_EMAILJS_SERVICE_ID=your-service-id-here
VITE_EMAILJS_TEMPLATE_ID=your-template-id-here

Hugging Face Spaces Integration

When deploying on Hugging Face Spaces, use their Secret Management for your environment variables:

  1. Go to your Space settings
  2. Add each variable from your .env file as a secret
  3. Hugging Face Spaces will make these available to your app

Troubleshooting

  • Email Not Sending: Check your EmailJS credentials and template IDs
  • Book Data Not Loading: Ensure you have internet access to fetch remote model files
  • Docker Issues: Make sure Docker is installed and running
  • UI Problems: Clear your browser cache or try a different browser

About the Developer

Developed by Muhammad Huzaifa Saqib (zaiffi), passionate about building AI-powered tools for readers and learners.


Enjoy your journey to great reads with BookQuest! ๐Ÿ“š