This project is a full-stack Flask application built by M Pavan. It allows users to search, track, and organize books using live data from the Google Books API. The system requires no database or user authentication — all data is stored temporarily through Flask sessions.
- Book Search: Search by title, author, or ISBN through the Google Books API
- Book Details: View descriptions, cover images, metadata, categories, and publishing details
- My Library: Add or remove books, mark them as read/unread (session-based storage)
- Sorting & Statistics: Filter by read/unread and view reading progress
- Responsive UI: Clean, modern HTML/CSS interface suitable for mobile and desktop
- No Database Needed: Lightweight and easy to deploy
- Frontend: HTML, CSS (Bootstrap), server-rendered templates
- Backend: Python (Flask), session-based state management
- External API: Google Books API
- Data Storage: Flask session
BookLibraryApp/
├─ app/
│ ├─ __init__.py
│ ├─ routes.py
│ ├─ api.py
│ ├─ utils.py
│ ├─ templates/
│ │ ├─ base.html
│ │ ├─ index.html
│ │ ├─ search.html
│ │ ├─ details.html
│ │ └─ library.html
│ └─ static/
│ └─ css/
│ └─ styles.css
├─ requirements.txt
├─ run.py
└─ README.md
The Google Books API can often be used without an API key. However, for higher reliability, you may generate a key from the Google Developer Console.
You may configure it by:
- Editing
API_KEYinapp/routes.py, or - Setting an environment variable (recommended for deployment)
- Clone the repository
git clone <repo-url>
cd BookLibraryApp
- Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate (macOS/Linux)
venv\Scripts\activate (Windows)
- Install project dependencies
pip install -r requirements.txt
- Run the application
python run.py
- Open in browser
Visit: http://127.0.0.1:5000
a
-
Google Books API Documentation: https://developers.google.com/books/docs/v1/using
-
Example Query Endpoint:
https://www.googleapis.com/books/v1/volumes?q=search+terms
Developed by M Pavan. Built using Flask, Requests, and the Google Books API.



