/BookBytes

A professional book search engine powered by React & Vite. Features a custom parser for advanced queries (Boolean, phrases, wildcards) and intelligently uses both Open Library & Google Books APIs for robust data fetching.

Primary LanguageJavaScript

BookBytes - Advanced Book Search Engine

React Vite Tailwind CSS

Live Demo: BookBytes Search Tool

BookBytes is a high-performance book search application designed for users who need precise and powerful search capabilities. Moving beyond simple keyword matching, this tool implements a custom search parser that supports Boolean logic, exact phrases, and wildcard characters, mirroring the functionality of professional academic databases. It intelligently fetches data from the Open Library API and uses the Google Books API as a fallback for enhanced data accuracy and cover art availability.


⚡ Features

  • Advanced Search Syntax:
    • Boolean Operators: Combine terms with AND, OR, and NOT for complex queries.
    • Exact Phrases: Search for specific phrases using double quotes (e.g., "The Lord of the Rings").
    • Wildcards: Use the * operator for partial word matching (e.g., librar*).
  • Multi-Faceted Search: Filter searches by Title, Author, or Subject.
  • Dual API Integration: Primarily uses the Open Library API and intelligently falls back to the Google Books API for missing cover images and additional details, ensuring a robust user experience.
  • Interactive UI: A clean, modern, and fully responsive interface built with Tailwind CSS.
  • Detailed Information Modal: Click on any book to view comprehensive details, including publisher, publication year, and ISBNs.
  • Helpful Search Tips: An integrated, expandable guide helps users master the advanced search syntax.
  • Robust UX: Includes clear loading states, error handling, and placeholder images for a seamless experience.

🛠️ Tech Stack

  • Frontend: React 19, Vite
  • Styling: Tailwind CSS
  • APIs: Open Library Search API, Google Books API
  • Linting: ESLint

📦 Installation & Setup Guide

Follow these steps to get the project running on your local machine.

Prerequisites:

  • Node.js (v18 or later)
  • npm or yarn

1. Clone the Repository Open your terminal and run the following command:

git clone https://github.com/al0nec0der/BookBytes.git

2. Navigate to the Project Directory

cd BookBytes

3. Install Dependencies

npm install

(or yarn install if you use Yarn)

4. Run the Development Server

npm run dev

The application should now be running on http://localhost:5173 (or the next available port).


🔧 Configuration

This project uses public APIs that do not require authentication. No .env file or API keys are needed to run the application locally.


🚀 Deployment

This application is built with Vite and can be easily deployed to any static hosting service.

Deploying with Vercel:

  1. Push your code to a GitHub repository.
  2. Sign up for a free account on Vercel.
  3. Click "Add New..." -> "Project" and import your GitHub repository.
  4. Vercel will automatically detect that it's a Vite project. Use the default settings and click "Deploy".

🌱 Future Enhancements

This project has a strong foundation with many possibilities for future development:

  • AI-Powered Recommendations: Implement a feature to suggest related books based on search history or a selected book.
  • Free Resource Integration: Add direct links to free versions of books on platforms like Project Gutenberg.
  • User Accounts & Bookshelves: Allow users to create accounts to save books to personal "Want to Read" or "Favorites" lists.
  • Advanced Filtering & Sorting: Add options to sort results by publication date, rating, or relevance, and filter by genre or language.
  • ISBN Scanner: Use the device camera to scan a book's barcode and instantly fetch its details.

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.


📫 Contact / Author

GitHub LinkedIn