Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 BookFinder

BookFinder is a modern and professional Book Search application built with FastAPI backend and HTML/CSS/JavaScript frontend. It allows users to easily search for books by title, author, or publisher, and displays results in a clean, RTL-friendly, and visually appealing interface.


🌟 Features

  • Search books by:

    • Title
    • Author
    • Publisher
  • Modern card-style results with hover effect

  • Dark mode with sleek design

  • Smooth animations when cards appear

  • Fully responsive for desktop and mobile

  • CORS enabled for easy frontend-backend integration

  • Works with a simple JSON file as book database


📂 Project Structure

BookFinder/
├─ backend/
│  ├─ main.py          # FastAPI backend
│  ├─ books.json       # Book database
│  └─ requirements.txt # Python dependencies
├─ frontend/
│  ├─ index.html       # Frontend interface
│  └─ styles.css       # Stylesheet
└─ README.md

⚙️ Setup Instructions

Backend (FastAPI)

  1. Install Python if not already installed
  2. Install required packages from requirements.txt:
pip install -r backend/requirements.txt
  1. Run the FastAPI server:
uvicorn backend.main:app --reload
  • The server runs by default at: http://127.0.0.1:8000
  • Search endpoint: /search-books?q=<search_term>

Frontend (HTML/CSS/JS)

  1. Navigate to the frontend/ folder
  2. Open index.html in your browser (double-click or use Live Server in VSCode)
  3. Use the search box to query books from the backend

⚠ Note: Ensure both frontend and backend are running on localhost and CORS is enabled for proper communication.


🛠 Adding New Books

  • Books are stored in books.json
  • Sample structure:
[
    {
        "title": "Book One",
        "author": "Author One",
        "publisher": "Publisher One"
    },
    {
        "title": "Book Two",
        "author": "Author Two",
        "publisher": "Publisher Two"
    }
]
  • Simply add new entries to make them searchable.

🚀 Advanced Options & Future Improvements

  • Add pagination for large result sets
  • Display book cover images
  • Include featured or recommended books on the homepage
  • Enhance UI with additional animations or Material Design
  • Dark/Light mode toggle
  • Connect to a real database instead of JSON for production

👨‍💻 Pro Tips

  • Frontend and backend are decoupled – can be developed independently
  • Project is suitable for demo, portfolio, or small applications
  • CORS enabled allows frontend to query backend from any domain

📝 License

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages