# Book Blog

### Overview

The book blog is a web application that utilises the Goodreads API to showcase a user's currently reading books and books they have read. The website has two sections: "**Currently Reading**" with progress bars for each book and "**Books I've Read**" displaying books and ratings. Users can search for books in the latter section. Additionally, the blog offers a review modal for each book. The website supports both light and dark modes for improved user experience.

### Features

* Utilises the Goodreads API to fetch user's book data.
* "Currently Reading" section with progress bars for each book.
* "Books I've Read" section displaying books and user-assigned ratings.
* Search bar in "Books I've Read" section for book title searches.
* Review modals to read user-added book reviews.
* Light and dark mode for user preference.

### Architecture and Technologies

* **NextJS**: NextJS for building static website with ISR (Incremental Static Regeneration)
* **TailwindCSS**: TailwindCSS for styling the application.
* **DaisyUI**: DaisyUI is a plugin for TailwindCSS that provides a set of ready-to-use components and styles. Used it primarily for theme configuration
* **Goodreads API:** fetching data for Currently Reading and Books I've Read sections.

### Limitations / Future Improvements

1. Goodreads API's slow performance and XML data format.
2. No availability of new Goodreads API keys.
3. Lack of alternative platforms offering public APIs.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ahsans-organization-2.gitbook.io/book-blog/book-blog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
