Inspiration

Although I am more of a video person rather than a book person, I created the ISBN Scanner app because my brother loves books and has a large collection. He initially suggested that I make something like this. This motivated me to create a solution that would streamline the process of collecting and organizing book details. We now use the app to manage his extensive book collection.

What it does

The ISBN Scanner allows users to scan the ISBN codes of books to retrieve detailed information from APIs. If scanning fails, users can manually enter ISBN-10 or ISBN-13 codes. The project leverages the Google Books and Open Library APIs to ensure comprehensive data retrieval. Additionally, users can edit the resulting CSV file directly within the app, create new CSV files, import existing ones, and export their collections. It also includes a tool for converting between ISBN-10 and ISBN-13, and users can toggle the camera to manage memory usage.

How we built it

The project was built using Python, utilizing libraries such as OpenCV for scanning and requests for interacting with the APIs. I used PyQt5 for creating an intuitive user interface, allowing for seamless navigation and usability. I incorporated error handling to manage scenarios where data might not be available, ensuring that the user experience remains smooth.

Challenges we ran into

One of the major challenges was ensuring accurate scanning in varying conditions, such as different lighting and camera quality. I had to refine the scanning algorithm to handle these inconsistencies. Additionally, integrating multiple APIs required careful management of the data retrieval process, as I needed to ensure that fallback options were functional without causing delays.

Accomplishments that we're proud of

I’m proud of creating an app that effectively addresses a common problem for book lovers. The ability to toggle the camera for better memory management is a feature I think sets this project apart. I’m also proud that it just works, I successfully made a functioning app that meets my initial vision.

What we learned

Throughout this project, I learned a lot about API integration and data handling in Python. I gained valuable experience in user interface design, particularly in making the app intuitive and responsive. I also developed my problem-solving skills as I tackled the challenges that arose during development.

What's next for ISBN Scanner

In the future, I plan to improve the scanning ability of the app to enhance its accuracy. I also want to develop functionality that allows it to recognize the numbers written on top of the ISBN code, as sometimes the lines of the ISBN code are too close together.

Share this project:

Updates