Search for books, add them to your reading lists, and keep track of your progress.
- Built with ReactJS + Vite using modern JavaScript, React Hooks, and React Router DOM for dynamic routes and query-based navigation.
- Search by title/author via the Open Library API, with helper-based fetching and request-limit-aware handling.
- Track books in four shelves (Want to Read, Currently Reading, Read, Did Not Finish) with seamless move/remove actions.
- Styled using Bootstrap components customized with Sass/CSS (plus HTML/CSS foundations and Google Fonts).
- Better UX through loading skeletons, edge/error states, and read more/read less descriptions.
- Uses Dexie.js (IndexedDB) for local persistence with seed/helper utilities, and is deployed on Vercel.
A live demo of the app is available at bookbook-demo.vercel.app.
- Clone the repo
git clone https://github.com/Riku737/Book-Tracker-App.git
cd Book-Tracker-App
- Install dependencies
npm install
- Start the development server
npm run dev
- Open your browser at the port printed by the dev server (e.g., http://localhost:3000).
/public
/src
/assets
/components # UI components
/db
database.js # Database set-up
seeder.js # Initial database data
/pages
/services # API calls to Open Library
/styles # SCSS / CSS
App.jsx
main.jsx
package.json
README.md
This app is a personal, non‑commercial project built solely for learning and portfolio purposes. It is not affiliated with or endorsed by any orgniazation, and it is not intended for real users or practical use. The project exists only as a way to experiment, practice, and develop new skills.
All book information and cover images are sourced from the Open Library API, and all trademarks belong to their respective owners.
No personal data is collected, stored, or transmitted. Any data saved in your browser (via IndexedDB/Dexie.js) remains entirely on your device.