In this assignment, I built a dynamic book listing application utilizing the Gutendex API. The application allows users to explore a vast collection of books through features like search, filtering by various criteria, wishlist management, and pagination for browsing large datasets. Developed with React and TypeScript, the application offers a responsive design for seamless use across devices. Books can be added to a personal wishlist, which is stored in localStorage for persistence. The intuitive user interface enhances the user experience, making it easy to discover and manage favorite books.
- Search for books by title, author, or genre
- Filter books by genre or topic
- Add books to a personal wishlist
- View books in a wishlist
- Paginate through large datasets
- Responsive design for optimal viewing on desktop and mobile devices
- LocalStorage for persistent storage of wishlist and search/genre selection
- Internal custom caching for improved performance whenever navigating between pages
- Error handling for network errors and invalid search/genre selections
- React
- TypeScript
- Tailwind CSS
- Gutendex API
Desktop | Mobile |
---|---|
Desktop | Mobile |
---|---|
Desktop | Mobile |
---|---|
- Clone the repository
- Install dependencies using
npm install
orpnpm install
- Run the application using
npm run dev
orpnpm dev
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.