https://github.com/dracula27/readtrakr
A personal library app to keep track of books. Integrates with Open Library's APIs for book data.
https://github.com/dracula27/readtrakr
100devs api css-flexbox css-grid css3 fetch-api html-css-javascript html5 javascript js json open-library-api
Last synced: 3 months ago
JSON representation
A personal library app to keep track of books. Integrates with Open Library's APIs for book data.
- Host: GitHub
- URL: https://github.com/dracula27/readtrakr
- Owner: DrAcula27
- Created: 2024-06-12T00:49:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-12T02:50:14.000Z (over 1 year ago)
- Last Synced: 2025-01-18T05:28:35.054Z (about 1 year ago)
- Topics: 100devs, api, css-flexbox, css-grid, css3, fetch-api, html-css-javascript, html5, javascript, js, json, open-library-api
- Language: CSS
- Homepage: https://dracula27.github.io/readTrakr/
- Size: 868 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Table of Contents
## About The Project
Keep track of every book you have read with this simple app! Search for a book by title, author, or ISBN and add it to your own personal library.
Bonus: it is service-agnostic! No matter how you read your books (iBooks, Kindle, real-life physical books, etc.) you can log all your reading progress here.
### Built With
- [](https://html.spec.whatwg.org/)
- [](https://www.w3.org/Style/CSS/#specs)
- [](https://tc39.es/ecma262/)
## Usage
Type the title, author, or ISBN of a book you'd like to add to your library and either type the `Enter` key or click the `Search` button to display the book results.
- Click the `Add to Library` button to add your book to your library.
- The book will stay in your library even if you close your browser!
- If you decide you no longer want a book in your library, click the `Remove from Library` button at the bottom of the book's card in the 'My Library' section.
## Optimizations
This project can be improved by:
- [ ] Refactoring the code to account for errors fetching data,
- [ ] Replacing the alert with more custom functionality when telling the user a book is already in their library,
- [ ] Adding a `Clear Search Results` button,
- [x] Ensuring all book cover images are the same size,
- [ ] Adding a confirmation modal when a user clicks the `Remove from Library` button on a book,
- [ ] Adding a loading icon while the fetch is in progress.
## Lessons Learned
- **API Integration.** When getting the data from the Open Library API, I learned how to use `fetch` to get `JSON` data from an external source and use the results of one query to make another query for getting the book covers.
- **Data Manipulation.** Once I had the data from the Open Library API, I learned how to transform that data into a format I needed for the project.
## Contact
Danielle Andrews - [@DrAcula_codes](https://twitter.com/DrAcula_codes 'Twitter/X') - [daniellerandrews](https://www.linkedin.com/in/daniellerandrews 'LinkedIn') - danielle.andrews.dev@icloud.com
Project Link: [https://github.com/DrAcula27/readTrakr](https://github.com/DrAcula27/readTrakr)
## Acknowledgments
A special thanks to these resources used in the project!
- [Open Library APIs](https://openlibrary.org/developers/api)
- [GitHub Pages](https://pages.github.com)
- [Font Awesome](https://fontawesome.com)