> For the complete documentation index, see [llms.txt](https://ahsans-organization-2.gitbook.io/book-blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ahsans-organization-2.gitbook.io/book-blog/book-blog.md).

# 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.
