This app works by utilizing Scandit's SDK for the sccanning capabilities and then leveraging the data of the Google Books API and The NYTimes API into a custom data objects. The later is used to generate a list of Best Sellers when the user first opens the app, the former is used for the "searching" and "scanning" functions within the apps backened. How it works? Much like its inspiration Yuka, the app scans an item's barcode, in this case it would by the IBSN that comes with every book. If a valid IBSN is detected then it used to make a request to the Google Books API and reviece a JSON repsonse, which I then use to create a 'Book' object' that houses the general information of that book.
- IOS Device running a miniumum firmware of 17.0
- Just click the link and follow the instructions.
-
User generated reading lists
-
Searching Capabilities
-
IBSN Scanning
-
Add sharing capablities
-
Book avalibitly near user using their current location
-
Book recommendations (recommendations based on the author may be the easiest to implement)
-
Using LibGen to download avlaible epub files and open them in Apple Books
bookclub-2.mp4
Using SwiftData with MVVM
SwiftData is a fairly new alternative to Swift's core data. One of my favorite feacture of it is the '@Query' function which allows the automatic fetching of SwiftData objects, however due to the way I organize my code; I like to seperate my backend (class managers) and frontend (views). '@Query' can only be used on views, so I needed a workaround to produce this same functionality in my backend classes. I was able to achieve this through a Model View ViewModel (MVVM) architecture.
UPC barcode.
ISBN (International Standard Book Number) barcode.
Using apple maps to serch for releevant locations
Delaying functions so that they run at a certain time
leverageing data from multiple apis together into one cohesive data model
A book cannot exist in multiple lists after starting an new app session -> Fixed it by Using a many to many relationship, Books can be long too many lists
When I first began developing iOS apps get data from a JSON request was very tredious since I had to design a struct that would be compatible with every possibility of data that may or may not be present for a response. After making apis using python I wonder if there was a simplier way to do it in swift as well. There was! using SwiftyJSON I was able to cut my workload drastically. Now instead of making a model for data in a response that I may or not receive, I am able to handle the more specialized conditions within the class initilizaers wchich leads to a more streamlined process.
When a book is added to a user generated list there is no checkmark indicting what list(s) it belongs to
Books in user generated lists are never in the same order after starting a new app session
Inspiration, code snippets, etc.
-
Developer Tutorial: Add MatrixScan Find to an iOS App | Scandit
-
swift: how would I run a function at a scheduled time weekly
Barnes and Noble
Books a Million
Half price books
Library of Congress ?
Near by public libraries
5 mi to 200 mi
Pulldown to refresh on "Avaliabitlity near me"