From 2e66aa5829c35083a98b706ce64922307f973f1f Mon Sep 17 00:00:00 2001 From: BlipRanger <1860540+BlipRanger@users.noreply.github.com> Date: Sun, 25 Aug 2024 11:53:26 -0400 Subject: [PATCH] Scanned basically everything with this --- books.db | Bin 24576 -> 212992 bytes index.js | 47 ++++++++++++++++++++++++++++++ public/index.html | 15 ++++------ public/script.js | 71 ++++++++++++++++++++++++++++++++++++++++++++-- public/styles.css | 4 --- 5 files changed, 120 insertions(+), 17 deletions(-) diff --git a/books.db b/books.db index fa364903d8d8ef54f2cf7434f1d9cb1904ef87ab..018d634f99ae1151c7b8dfdf9b63631b706367fe 100644 GIT binary patch literal 212992 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

8;X(o3eMZgqmWR&4Gvo&E94nnP@ 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 Uxi~$27&K^3k3AvG={g(!2TL-yg8%>k delta 114 zcmZo@;B7d-I6<0Kkb!}LZK8rbqu|DbCHy>0{NI2A3~cZrRD%luY+fB% diff --git a/index.js b/index.js index 35f0b58..a1479d9 100644 --- a/index.js +++ b/index.js @@ -61,14 +61,28 @@ app.get('/book/:isbn', async (req, res) => { // First try Open Library const openLibraryResponse = await axios.get(`https://openlibrary.org/api/books?bibkeys=ISBN:${isbn}&format=json&jscmd=data`); const bookData = openLibraryResponse.data[`ISBN:${isbn}`]; + //Check for timeout or rate limit: + if(openLibraryResponse.status === 429){ + console.log('Rate limit exceeded'); + res.status(429).json({ error: 'Rate limit exceeded' }); + } + + if(openLibraryResponse.status === 408){ + console.log('Request Timeout'); + res.status(408).json({ error: 'Request Timeout' }); + } if (bookData) { console.log('Book data found in Open Library'); res.json(formatOpenLibraryData(bookData)); } else { + console.log('Book not found in Open Library'); + console.log('Trying Internet Archive...'); + // Fallback to Internet Archive if no data from Open Library const archiveResponse = await axios.get(`https://archive.org/advancedsearch.php?q=isbn:${isbn}&output=json`); const archiveData = archiveResponse.data; + console.log(archiveData); if (archiveData.response.numFound > 0) { res.json(formatArchiveData(archiveData.response.docs[0])); @@ -84,6 +98,39 @@ app.get('/book/:isbn', async (req, res) => { +// Endpoint to search for book by title +app.get('/search-title', async (req, res) => { + const { title } = req.query; + console.log(`Searching for book by title: ${title}`); + + try { + // Search Open Library by title, limit to 5 results + const openLibraryResponse = await axios.get(`https://openlibrary.org/search.json?q=${encodeURIComponent(title)}&limit=7`); + const searchResults = openLibraryResponse.data.docs; + console.log(searchResults); + + if (searchResults.length > 0) { + console.log('Books found by title'); + const bookData = searchResults.map(result => ({ + title: result.title, + authors: result.author_name || [], + publish_date: result.first_publish_year, + isbn: result.isbn ? result.isbn[0] : '', + publisher: result.publisher ? result.publisher[0] : '', + key: result.key // Unique key to fetch more detailed data later if needed + })); + console.log(bookData); + res.json({ results: bookData }); + } else { + res.status(404).json({ error: 'No books found with that title.' }); + } + } catch (error) { + console.error(error); + res.status(500).json({ error: 'Failed to search for book by title' }); + } +}); + + // Endpoint to store book in the database // Endpoint to store book in the database // Endpoint to store book in the database diff --git a/public/index.html b/public/index.html index 22b5eaa..2ce849a 100644 --- a/public/index.html +++ b/public/index.html @@ -3,20 +3,20 @@ - ISBN Scanner + ISBN Scanner and Title Lookup -

Scan a Book ISBN

+

Scan a Book ISBN or Search by Title

-
-

Or upload a barcode image

- +

Or search for a book by title

+ +
@@ -27,11 +27,6 @@
-
- - - -
diff --git a/public/script.js b/public/script.js index 29bc8f0..9850042 100644 --- a/public/script.js +++ b/public/script.js @@ -21,6 +21,7 @@ async function getCameras() { // Update selectedDeviceId when user selects a camera cameraSelect.addEventListener('change', function() { selectedDeviceId = this.value; + startScanner(); }); if (videoDevices.length > 0) { @@ -53,11 +54,12 @@ function startScanner() { target: document.querySelector('#interactive'), constraints: { deviceId: selectedDeviceId, - facingMode: "environment", // Default to rear camera + facingMode: "environment", // Default to rear camera, + advanced: [{torch: true}] }, }, decoder: { - readers: ["ean_reader"] // EAN is the standard format for ISBN-13 barcodes + readers: ["ean_reader", "ean_8_reader", } }, function (err) { if (err) { @@ -66,6 +68,7 @@ function startScanner() { } console.log("Initialization finished. Ready to start"); Quagga.start(); + Quagga.CameraAccess.enableTorch(); }); Quagga.onDetected(async function (data) { @@ -122,6 +125,68 @@ function promptUserWithBook(bookData) { } } +// Add an event listener for the search button +document.getElementById('search-title').addEventListener('click', searchByTitle); + +async function searchByTitle() { + const title = document.getElementById('title-input').value; + if (!title) { + alert('Please enter a book title to search.'); + return; + } + + try { + const response = await fetch(`/search-title?title=${encodeURIComponent(title)}`); + const data = await response.json(); + + if (data.results && data.results.length > 0) { + displaySearchResults(data.results); + } else { + alert('No books found with that title.'); + } + } catch (error) { + console.error('Error searching for book by title:', error); + alert('An error occurred while searching for the book.'); + } +} + +function displaySearchResults(results) { + // Display the search results and allow the user to select one + const bookInfoDiv = document.getElementById('book-info'); + bookInfoDiv.innerHTML = ''; // Clear previous results + + results.forEach((book, index) => { + const bookElement = document.createElement('div'); + bookElement.innerHTML = ` +

Title: ${book.title}

+

Author(s): ${book.authors.join(', ')}

+

Published: ${book.publish_date || 'N/A'}

+

ISBN: ${book.isbn}

+

Publisher: ${book.publisher || 'N/A'}

+ + `; + bookInfoDiv.appendChild(bookElement); + }); + + // Store the results so that we can reference them when the user makes a selection + window.searchResults = results; +} + +function selectBook(index) { + const selectedBook = window.searchResults[index]; + console.log('Selected book:', selectedBook); + + // You can now fetch more details using the unique key if needed, or directly store this in your database + const isbn = selectedBook.isbn; + + if (isbn) { + fetchBookInfo(isbn); + } else { + promptUserWithBook(selectedBook); // You might have to adapt this if there's no ISBN + } +} + + async function storeBookInDatabase(bookData) { try { const response = await fetch('/store-book', { @@ -164,7 +229,7 @@ async function storeBookInDatabase(bookData) { // Start the scanner when the start button is clicked -document.getElementById('start-scanner').addEventListener('click', startScanner); +//document.getElementById('start-scanner').addEventListener('click', startScanner); // Get cameras on page load window.onload = getCameras; diff --git a/public/styles.css b/public/styles.css index 8496d2f..2cd6791 100644 --- a/public/styles.css +++ b/public/styles.css @@ -20,10 +20,6 @@ canvas.drawing, canvas.drawingBuffer { margin-top: 20px; } -#title-input { - display: none; -} - #prompt-message { font-weight: bold; }